Skip to content

Commit 4dcbf96

Browse files
Update stdout and stderror to be array of lines
1 parent f8be239 commit 4dcbf96

3 files changed

Lines changed: 31 additions & 39 deletions

File tree

test/BinTestCases.test.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ function getTestSpecificArguments(testDirectory) {
2626
}
2727
}
2828

29+
function convertToArrayOfLines(outputArray) {
30+
if(outputArray.length === 0) return outputArray;
31+
return outputArray.join('').split('\n');
32+
}
33+
2934
const casesPath = path.join(__dirname, "binCases");
3035
const defaultArgs = loadOptsFile(path.join(casesPath, "test.opts"));
3136

@@ -65,7 +70,8 @@ describe("BinTestCases", function() {
6570
describe(testName, function() {
6671
before(function(done) {
6772
this.timeout(20000);
68-
const child = spawn(cmd, args, opts);
73+
74+
const child = spawn(process.execPath, [cmd].concat(args), opts);
6975

7076
child.on("close", function(code) {
7177
env.code = code;
@@ -90,7 +96,9 @@ describe("BinTestCases", function() {
9096
});
9197

9298
it("should run successfully", function() {
93-
testAssertions(env.code, env.stdout, env.stderr);
99+
const stdout = convertToArrayOfLines(env.stdout);
100+
const stderr = convertToArrayOfLines(env.stderr);
101+
testAssertions(env.code, stdout, stderr);
94102
});
95103
});
96104
});

test/binCases/help/help-output/test.js

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,17 @@
33
module.exports = function testAssertions(code, stdout, stderr) {
44
code.should.be.exactly(0);
55

6-
stdout.length.should.be.exactly(1);
7-
const output = stdout[0].toString();
6+
stdout.should.be.ok();
7+
stdout[0].should.startWith("webpack");
8+
stdout.should.containEql("Config options:");
9+
stdout.should.containEql("Basic options:");
10+
stdout.should.containEql("Module options:");
11+
stdout.should.containEql("Output options:");
12+
stdout.should.containEql("Advanced options:");
13+
stdout.should.containEql("Resolving options:");
14+
stdout.should.containEql("Optimizing options:");
15+
stdout.should.containEql("Stats options:");
16+
stdout.should.containEql("Options:");
817

9-
output.should.be.ok();
10-
output.should.startWith("webpack");
11-
output.should.containEql("\nConfig options:");
12-
output.should.containEql("\nBasic options:");
13-
output.should.containEql("\nModule options:");
14-
output.should.containEql("\nOutput options:");
15-
output.should.containEql("\nAdvanced options:");
16-
output.should.containEql("\nResolving options:");
17-
output.should.containEql("\nOptimizing options:");
18-
output.should.containEql("\nStats options:");
19-
output.should.containEql("\nOptions:");
20-
21-
stderr.map((data) => {
22-
data.toString().should.be.ok();
23-
throw new Error(data.toString());
24-
});
18+
stderr.should.be.empty();
2519
}

test/binCases/stats/single-config/test.js

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,13 @@
33
module.exports = function testAssertions(code, stdout, stderr) {
44
code.should.be.oneOf(0, 1);
55

6-
stdout.length.should.be.exactly(2);
7-
8-
const dateOutput = stdout[0].toString();
9-
dateOutput.should.be.ok();
10-
isNaN(new Date(dateOutput)).should.be.false();
11-
12-
const buildOutput = stdout[1].toString();
13-
buildOutput.should.be.ok();
14-
buildOutput.should.startWith("Hash: ");
15-
buildOutput.should.containEql("\nVersion:");
16-
buildOutput.should.containEql("\nTime:");
17-
buildOutput.should.containEql("null.js");
18-
buildOutput.should.containEql("./index.js");
19-
buildOutput.should.containEql("[built]");
20-
21-
stderr.map((data) => {
22-
data.toString().should.be.ok();
23-
throw new Error(data.toString());
24-
});
6+
stdout.should.be.ok();
7+
stdout[3].should.containEql("Hash: ");
8+
stdout[4].should.containEql("Version: ");
9+
stdout[5].should.containEql("Time: ");
10+
stdout[7].should.containEql("null.js");
11+
stdout[8].should.containEql("./index.js");
12+
stdout[8].should.containEql("[built]");
13+
14+
stderr.should.be.empty();
2515
}

0 commit comments

Comments
 (0)