diff --git a/.travis.yml b/.travis.yml index 6293efb0..d4e29531 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 ebd33374..bdbcdf77 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/saveSequence.js b/test/cli/saveSequence.js new file mode 100755 index 00000000..57cb2d7d --- /dev/null +++ b/test/cli/saveSequence.js @@ -0,0 +1,38 @@ +require('../../src/ImageSequencer'); +sequencer = ImageSequencer({ ui: true }); +const saveSequence = require('../../src/cli/saveSequence.js'); +const test = require('tape'); +const { Command } = require('commander'); + + +test('testing save sequence function', function (t) { + try { + 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) + saveSequence(program, sequencer); + t.true(1, 'creation success'); + + } catch (error) { + t.true(!error, 'creation fail'); + } + try { + let 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(); +}); \ No newline at end of file