blob: 5fe2b8ad48cc1c2a66c7cc2cc7aecb5fe09a86e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
var test = require('tape');
var expand = require('..');
var fs = require('fs');
var resfile = __dirname + '/bash-results.txt';
var cases = fs.readFileSync(resfile, 'utf8').split('><><><><');
// throw away the EOF marker
cases.pop()
test('matches bash expansions', function(t) {
cases.forEach(function(testcase) {
var set = testcase.split('\n');
var pattern = set.shift();
var actual = expand(pattern);
// If it expands to the empty string, then it's actually
// just nothing, but Bash is a singly typed language, so
// "nothing" is the same as "".
if (set.length === 1 && set[0] === '') {
set = []
} else {
// otherwise, strip off the [] that were added so that
// "" expansions would be preserved properly.
set = set.map(function (s) {
return s.replace(/^\[|\]$/g, '')
})
}
t.same(actual, set, pattern);
});
t.end();
})
|