Revert "removed StdoutWriteMock"

This reverts commit f6178267bb.
This commit is contained in:
sanex3339
2016-07-26 08:37:05 +03:00
parent 68b613d80b
commit 9542c85fff
2 changed files with 39 additions and 1 deletions
@@ -2,6 +2,8 @@ import * as fs from 'fs';
import * as mkdirp from 'mkdirp';
import * as sinon from 'sinon';
import { StdoutWriteMock } from "../mocks/StdoutWriteMock";
import { JavaScriptObfuscator } from "../../src/JavaScriptObfuscator";
const assert: Chai.AssertStatic = require('chai').assert;
@@ -117,13 +119,17 @@ describe('JavaScriptObfuscatorCLI', function (): void {
});
describe('help output', () => {
let callback: sinon.SinonSpy;
let callback: sinon.SinonSpy,
stdoutWriteMock: StdoutWriteMock;
beforeEach(() => {
callback = sinon.spy(console, 'log');
stdoutWriteMock = new StdoutWriteMock(process.stdout.write);
});
it('should print `console.log` help if `--help` option is set', () => {
stdoutWriteMock.mute();
JavaScriptObfuscator.runCLI([
'node',
'javascript-obfuscator',
@@ -131,15 +137,21 @@ describe('JavaScriptObfuscatorCLI', function (): void {
'--help'
]);
stdoutWriteMock.restore();
assert.equal(callback.called, true);
});
it('should print `console.log` help if no options is passed', () => {
stdoutWriteMock.mute();
JavaScriptObfuscator.runCLI([
'node',
'javascript-obfuscator'
]);
stdoutWriteMock.restore();
assert.equal(callback.called, true);
});
+26
View File
@@ -0,0 +1,26 @@
export class StdoutWriteMock {
/**
* @type any
*/
private stdoutWrite: any;
/**
* @type any
*/
private stdoutWriteMock: any = (() => {});
/**
* @param stdoutWrite
*/
constructor (stdoutWrite: any) {
this.stdoutWrite = stdoutWrite;
}
public mute (): void {
process.stdout.write = this.stdoutWriteMock;
}
public restore (): void {
process.stdout.write = this.stdoutWrite;
}
}