From 7bccdef1c720693c0f3f1a9e6f3f57a6943eb79b Mon Sep 17 00:00:00 2001 From: daemon1024 Date: Tue, 6 Oct 2020 15:09:31 +0000 Subject: [PATCH 1/3] test: add a basic cli test for savesequence --- index-test.js | 40 ++++++++++++++++++++++++++++++++++++++++ index.js | 8 ++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100755 index-test.js diff --git a/index-test.js b/index-test.js new file mode 100755 index 0000000000..4577bd6a96 --- /dev/null +++ b/index-test.js @@ -0,0 +1,40 @@ +#!/usr/bin/env node +require('./src/ImageSequencer'); +sequencer = ImageSequencer({ ui: true }); +var saveSequence = require('./src/cli/saveSequence.js'); +var test = require('tape'); +var { Command } = require('commander'); + + +test('testing save sequence function', function (t) { + try { + var program = new Command(); + program + .option('--save-sequence [string]', 'Name space separated with Stringified sequence'); + + program.parse(['node', 'test', '--save-sequence', '"invert brightness"']); + + if (program.saveSequence) + saveSequence(program, sequencer); + t.true(1, 'creation success'); + + } catch (error) { + t.true(!error, 'creation fail'); + } + try { + var program = new Command(); + program + .option('--save-sequence [string]', 'Name space separated with Stringified sequence'); + + program.parse(['node', 'test', '--save-sequence']); + + if (program.saveSequence) + saveSequence(program, sequencer); + t.true(0, 'creation success'); + + } catch (error) { + t.true(1, 'creation fail'); + } + t.end(); + process.exit(1); +}); \ No newline at end of file diff --git a/index.js b/index.js index 2427eda71a..4a47b288a4 100755 --- a/index.js +++ b/index.js @@ -23,8 +23,12 @@ program .option('-b, --basic', 'Basic mode outputs only final image') .option('-c, --config [Object]', 'Options for the step') .option('--save-sequence [string]', 'Name space separated with Stringified sequence') - .option('--install-module [string]', 'Module name space seaprated npm package name') - .parse(process.argv); + .option('--install-module [string]', 'Module name space seaprated npm package name'); + +program + .command('test', ' test maybe '); + +program.parse(process.argv); if (program.saveSequence) saveSequence(program, sequencer); From f2a99802a6f7e0deb77cd9a1bfe13f3462f3c020 Mon Sep 17 00:00:00 2001 From: daemon1024 Date: Wed, 7 Oct 2020 16:03:00 +0000 Subject: [PATCH 2/3] refactor cli-test --- index.js | 8 ++------ index-test.js => test/cli.test.js | 16 ++++++++-------- 2 files changed, 10 insertions(+), 14 deletions(-) rename index-test.js => test/cli.test.js (78%) diff --git a/index.js b/index.js index 4a47b288a4..2427eda71a 100755 --- a/index.js +++ b/index.js @@ -23,12 +23,8 @@ program .option('-b, --basic', 'Basic mode outputs only final image') .option('-c, --config [Object]', 'Options for the step') .option('--save-sequence [string]', 'Name space separated with Stringified sequence') - .option('--install-module [string]', 'Module name space seaprated npm package name'); - -program - .command('test', ' test maybe '); - -program.parse(process.argv); + .option('--install-module [string]', 'Module name space seaprated npm package name') + .parse(process.argv); if (program.saveSequence) saveSequence(program, sequencer); diff --git a/index-test.js b/test/cli.test.js similarity index 78% rename from index-test.js rename to test/cli.test.js index 4577bd6a96..16f49b2b88 100755 --- a/index-test.js +++ b/test/cli.test.js @@ -1,17 +1,17 @@ #!/usr/bin/env node -require('./src/ImageSequencer'); +require('../src/ImageSequencer'); sequencer = ImageSequencer({ ui: true }); -var saveSequence = require('./src/cli/saveSequence.js'); -var test = require('tape'); -var { Command } = require('commander'); +const saveSequence = require('../src/cli/saveSequence.js'); +const test = require('tape'); +const { Command } = require('commander'); test('testing save sequence function', function (t) { try { - var program = new Command(); + let program = new Command(); program .option('--save-sequence [string]', 'Name space separated with Stringified sequence'); - + program.parse(['node', 'test', '--save-sequence', '"invert brightness"']); if (program.saveSequence) @@ -22,10 +22,10 @@ test('testing save sequence function', function (t) { t.true(!error, 'creation fail'); } try { - var program = new Command(); + let program = new Command(); program .option('--save-sequence [string]', 'Name space separated with Stringified sequence'); - + program.parse(['node', 'test', '--save-sequence']); if (program.saveSequence) From 6148a25482d42a882cebb47d302b05e0549df754 Mon Sep 17 00:00:00 2001 From: daemon1024 Date: Thu, 22 Oct 2020 07:41:11 +0000 Subject: [PATCH 3/3] Run cli tests seperately --- .travis.yml | 4 +++- package.json | 3 ++- test/{cli.test.js => cli/saveSequence.js} | 6 ++---- 3 files changed, 7 insertions(+), 6 deletions(-) rename test/{cli.test.js => cli/saveSequence.js} (87%) diff --git a/.travis.yml b/.travis.yml index 6293efb0e4..d4e29531d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,9 @@ jobs: - name: "Jasmine UI tests (mocked browser env)" script: npm run test-ui - name: "jest-puppeteer UI tests (full browser env)" - script: npm run test-ui-2 + script: npm run test-ui-2 + - name: "CLI tests" + script: npm run test-cli - name: "Grunt build test of dev environment" script: grunt build after_success: diff --git a/package.json b/package.json index 2c209eeb48..7a4abcbbef 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,9 @@ "test-all": "npm run test && npm run benchmark && npm run gif-test && grunt tests && npm run core-tests", "test-ui": "node node_modules/jasmine/bin/jasmine test/ui/spec/*.js", "test-ui-2": "node ./node_modules/.bin/jest", + "test-cli": "node test/cli/*.js | tap-spec", "setup": "npm i && npm i -g grunt grunt-cli && npm rebuild --build-from-source && grunt build", - "start": "grunt serve" + "start": "grunt serve" }, "lint-staged": { "*.js": [ diff --git a/test/cli.test.js b/test/cli/saveSequence.js similarity index 87% rename from test/cli.test.js rename to test/cli/saveSequence.js index 16f49b2b88..57cb2d7d2f 100755 --- a/test/cli.test.js +++ b/test/cli/saveSequence.js @@ -1,7 +1,6 @@ -#!/usr/bin/env node -require('../src/ImageSequencer'); +require('../../src/ImageSequencer'); sequencer = ImageSequencer({ ui: true }); -const saveSequence = require('../src/cli/saveSequence.js'); +const saveSequence = require('../../src/cli/saveSequence.js'); const test = require('tape'); const { Command } = require('commander'); @@ -36,5 +35,4 @@ test('testing save sequence function', function (t) { t.true(1, 'creation fail'); } t.end(); - process.exit(1); }); \ No newline at end of file