Compare commits

...

4 Commits

Author SHA1 Message Date
daemon1024
f5a6ceae62 modify read log util and make a single test pass by adding blocking code 2021-03-12 22:08:06 +00:00
Jeffrey Warren
a8ae036077 Merge branch 'main' into daemon1024/cli-test-suite-1747 2021-03-12 12:33:56 -05:00
daemon1024
73b49371ab test cli steps parsing 2021-03-07 22:26:26 +00:00
daemon1024
f6949c9bbd make utility to read stdout and stderr 2021-03-07 22:26:11 +00:00
2 changed files with 63 additions and 0 deletions

37
test/cli/steps.js Executable file
View File

@@ -0,0 +1,37 @@
const test = require('tape');
const cli = require('../../src/cli');
const stdout = require('./util/readConsole').stdout;
const stderr = require('./util/readConsole').stderr;
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
test('testing steps parsing', function (t) {
t.plan(1);
let out = stdout.read();
cli([
'node', 'test',
'-i', 'examples/images/test.png',
'-s', 'invert',
]);
sleep(1000).then(() => {
out.restore();
let validator = out.output().includes('Added Step "invert"');
t.true(validator, 'Steps parsed successfully');
});
// let err = stderr.read();
// await cli([
// 'node', 'test',
// '-i', 'examples/images/test.png',
// '-s', 'invalidStep',
// ]);
// err.restore();
// t.equal(err.output, 'Please ensure all steps are valid.');
});

View File

@@ -0,0 +1,26 @@
function ReadLog(stream) {
this._stream = stream;
}
ReadLog.prototype.read = function(options) {
let output = '';
let stream = this._stream;
let originalStreamWrite = stream.write;
stream.write = function(string) {
output += string;
};
return {
output: function () {
return output;
},
restore: function() {
stream.write = originalStreamWrite;
}
};
};
exports.stdout = new ReadLog(process.stdout);
exports.stderr = new ReadLog(process.stderr);