|
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; |
3 | 4 |
|
4 | 5 | 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 | + }); |
19 | 22 | });
|
20 | 23 | });
|
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 | + } |
22 | 39 | })
|
0 commit comments