You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.6 KiB
106 lines
2.6 KiB
var wildcard = require('../'), |
|
test = require('tape'), |
|
testdata = { |
|
'a.b.c' : {}, |
|
'a.b' : {}, |
|
'a' : {}, |
|
'a.b.d' : {} |
|
}, |
|
testdataSep = { |
|
'a:b:c' : {}, |
|
'a:b' : {}, |
|
'a' : {}, |
|
'a:b:d' : {} |
|
}; |
|
|
|
test('object result matching tests', function(t) { |
|
t.test('should return 4 matches for a.*', function(t) { |
|
var matches = wildcard('a.*', testdata); |
|
|
|
t.plan(4); |
|
t.ok(matches['a.b.c']); |
|
t.ok(matches['a.b']); |
|
t.ok(matches['a']); |
|
t.ok(matches['a.b.d']); |
|
t.end(); |
|
}); |
|
|
|
t.test('should return 4 matches for a:*', function(t) { |
|
var matches = wildcard('a:*', testdataSep, ':'); |
|
|
|
t.plan(4); |
|
t.ok(matches['a:b:c']); |
|
t.ok(matches['a:b']); |
|
t.ok(matches['a']); |
|
t.ok(matches['a:b:d']); |
|
t.end(); |
|
}); |
|
|
|
t.test('should return 3 matches for a.b.*', function(t) { |
|
var matches = wildcard('a.b.*', testdata); |
|
|
|
t.plan(4); |
|
t.ok(matches['a.b.c']); |
|
t.ok(matches['a.b']); |
|
t.notOk(matches['a']); |
|
t.ok(matches['a.b.d']); |
|
t.end(); |
|
}); |
|
|
|
t.test('should return 3 matches for a:b:*', function(t) { |
|
var matches = wildcard('a:b:*', testdataSep, ':'); |
|
|
|
t.plan(4); |
|
t.ok(matches['a:b:c']); |
|
t.ok(matches['a:b']); |
|
t.notOk(matches['a']); |
|
t.ok(matches['a:b:d']); |
|
t.end(); |
|
}); |
|
|
|
t.test('should return 1 matches for a.*.c', function(t) { |
|
var matches = wildcard('a.*.c', testdata); |
|
|
|
t.plan(4); |
|
t.ok(matches['a.b.c']); |
|
t.notOk(matches['a.b']); |
|
t.notOk(matches['a']); |
|
t.notOk(matches['a.b.d']); |
|
t.end(); |
|
}); |
|
|
|
t.test('should return 1 matches for a:*:c', function(t) { |
|
var matches = wildcard('a:*:c', testdataSep, ':'); |
|
|
|
t.plan(4); |
|
t.ok(matches['a:b:c']); |
|
t.notOk(matches['a:b']); |
|
t.notOk(matches['a']); |
|
t.notOk(matches['a:b:d']); |
|
t.end(); |
|
}); |
|
|
|
t.test('should return 0 matches for b.*.d', function(t) { |
|
var matches = wildcard('b.*.d', testdata); |
|
|
|
t.plan(4); |
|
t.notOk(matches['a.b.c']); |
|
t.notOk(matches['a.b']); |
|
t.notOk(matches['a']); |
|
t.notOk(matches['a.b.d']); |
|
t.end(); |
|
}); |
|
|
|
t.test('should return 0 matches for b:*:d', function(t) { |
|
var matches = wildcard('b:*:d', testdataSep, ':'); |
|
|
|
t.plan(4); |
|
t.notOk(matches['a:b:c']); |
|
t.notOk(matches['a:b']); |
|
t.notOk(matches['a']); |
|
t.notOk(matches['a:b:d']); |
|
t.end(); |
|
}); |
|
|
|
t.end(); |
|
});
|
|
|