Oops, forgot to git-add the tests
This commit is contained in:
parent
8256b56607
commit
f83f4c6413
|
@ -0,0 +1,48 @@
|
|||
"use strict";
|
||||
|
||||
// There are also some trie-ish tests scattered around in test-route.js.
|
||||
|
||||
var expect = require('expect.js');
|
||||
var Immutable = require('immutable');
|
||||
|
||||
var Syndicate = require('../src/main.js');
|
||||
var Dataspace = Syndicate.Dataspace;
|
||||
var Patch = Syndicate.Patch;
|
||||
var Trie = Syndicate.Trie;
|
||||
|
||||
var __ = Syndicate.__;
|
||||
var _$ = Syndicate._$;
|
||||
|
||||
function checkPrettyTrie(m, expected) {
|
||||
expect(Trie.prettyTrie(m)).to.equal(expected.join('\n'));
|
||||
}
|
||||
|
||||
function expectSetsEqual(a, bArray) {
|
||||
return expect(Immutable.is(a, Immutable.Set(bArray))).to.be(true);
|
||||
}
|
||||
|
||||
describe('matchValue', function () {
|
||||
it('rejects wildcard when wildcardUnionOpt is falsy', function () {
|
||||
var t = Trie.union(Trie.compilePattern(Immutable.Set.of('A'), ['a', 123]),
|
||||
Trie.compilePattern(Immutable.Set.of('B'), ['b', 234]),
|
||||
Trie.compilePattern(Immutable.Set.of('C'), ['c', 123]));
|
||||
expect(function () { Trie.matchValue(t, [__, 123], Immutable.Set()) }).to.throwError();
|
||||
expect(function () { Trie.matchValue(t, ['a', __], Immutable.Set()) }).to.throwError();
|
||||
expectSetsEqual(Trie.matchValue(t, ['a', 123], Immutable.Set()), ['A']);
|
||||
});
|
||||
|
||||
it('accepts wildcard when wildcardUnionOpt is non-falsy', function () {
|
||||
var t = Trie.union(Trie.compilePattern(Immutable.Set.of('A'), ['a', 123]),
|
||||
Trie.compilePattern(Immutable.Set.of('A1'), ['a', ['x', 'y']]),
|
||||
Trie.compilePattern(Immutable.Set.of('B'), ['b', 234]),
|
||||
Trie.compilePattern(Immutable.Set.of('C'), ['c', 123]));
|
||||
function u(a, b) {
|
||||
return a.union(b);
|
||||
}
|
||||
expectSetsEqual(Trie.matchValue(t, [__, 123], Immutable.Set(), u), ['A', 'C']);
|
||||
expectSetsEqual(Trie.matchValue(t, ['a', __], Immutable.Set(), u), ['A', 'A1']);
|
||||
expectSetsEqual(Trie.matchValue(t, ['a', 123], Immutable.Set(), u), ['A']);
|
||||
expectSetsEqual(Trie.matchValue(t, [__, 234], Immutable.Set(), u), ['B']);
|
||||
expectSetsEqual(Trie.matchValue(t, [__, __], Immutable.Set(), u), ['A', 'A1', 'B', 'C']);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue