Skip to content

Commit d4ca6fb

Browse files
test fixed for all versions
1 parent e63742a commit d4ca6fb

File tree

1 file changed

+34
-17
lines changed

1 file changed

+34
-17
lines changed

test/cli.js

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,39 @@
1-
var test = require('tap').test
2-
var exec = require('child_process').exec
1+
var test = require('tap').test;
2+
var execSync = require('child_process').execSync
3+
var exec = require('child_process').exec;
34

45
test('the command line using pipes or arguments produces the same output', function (t) {
5-
t.plan(6);
6-
var bin = 'node ./bin/semver ';
7-
[[bin+'-i 1.0.0', 'echo 1.0.0 | '+bin+'-i'],
8-
[bin+'-i major 1.0.0', 'echo 1.0.0 | '+bin+'-i major'],
9-
[bin+'-i prerelease 1.0.0', 'echo 1.0.0 | '+bin+'-i prerelease'],
10-
[bin+'-i preminor 1.0.0', 'echo 1.0.0 | '+bin+'-i preminor'],
11-
[bin+'-i prepatch --preid alpha 1.0.0', 'echo 1.0.0 | '+bin+'-i prepatch --preid alpha'],
12-
[bin+'-r \\>1.0.0 0.8.0 1.1.1', 'echo 0.8.0 1.1.1 | '+bin+'-r \\>1.0.0']
13-
].forEach(function(tab) {
14-
exec(tab[0], function(error, stdout, stderr) {
15-
var resCli = stdout + stderr;
16-
exec(tab[1], function(error, stdout, stderr) {
17-
var resPipe = stdout + stderr;
18-
t.assert(resCli === resPipe);
6+
if (execSync === undefined) {
7+
t.plan(6);
8+
var bin = 'node ./bin/semver ';
9+
[[bin+'-i 1.0.0', 'echo 1.0.0 | '+bin+'-i'],
10+
[bin+'-i major 1.0.0', 'echo 1.0.0 | '+bin+'-i major'],
11+
[bin+'-i prerelease 1.0.0', 'echo 1.0.0 | '+bin+'-i prerelease'],
12+
[bin+'-i preminor 1.0.0', 'echo 1.0.0 | '+bin+'-i preminor'],
13+
[bin+'-i prepatch --preid alpha 1.0.0', 'echo 1.0.0 | '+bin+'-i prepatch --preid alpha'],
14+
[bin+'-r \\>1.0.0 0.8.0 1.1.1', 'echo 0.8.0 1.1.1 | '+bin+'-r \\>1.0.0']
15+
].forEach(function(tab) {
16+
exec(tab[0], function(error, stdout, stderr) {
17+
var resCli = stdout + stderr;
18+
exec(tab[1], function(error, stdout, stderr) {
19+
var resPipe = stdout + stderr;
20+
t.assert(resCli === resPipe);
21+
});
1922
});
2023
});
21-
});
24+
} else {
25+
var bin = 'node ./bin/semver ';
26+
[[bin+'-i 1.0.0', 'echo 1.0.0 | '+bin+'-i'],
27+
[bin+'-i major 1.0.0', 'echo 1.0.0 | '+bin+'-i major'],
28+
[bin+'-i prerelease 1.0.0', 'echo 1.0.0 | '+bin+'-i prerelease'],
29+
[bin+'-i preminor 1.0.0', 'echo 1.0.0 | '+bin+'-i preminor'],
30+
[bin+'-i prepatch --preid alpha 1.0.0', 'echo 1.0.0 | '+bin+'-i prepatch --preid alpha'],
31+
[bin+'-r \\>1.0.0 0.8.0 1.1.1', 'echo 0.8.0 1.1.1 | '+bin+'-r \\>1.0.0']
32+
].forEach(function(tab) {
33+
var resCli = execSync(tab[0]);
34+
var resPipe = execSync(tab[1]);
35+
t.assert(resCli.equals(resPipe));
36+
});
37+
t.end();
38+
}
2239
})

0 commit comments

Comments
 (0)