AdapterRegistry.js
1.5 KB
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
define(["doh/main", "../AdapterRegistry"], function(doh, AdapterRegistry){
doh.register("tests.AdapterRegistry",
[
function ctor(t){
var taa = new AdapterRegistry();
t.is(0, taa.pairs.length);
t.f(taa.returnWrappers);
var taa = new AdapterRegistry(true);
t.t(taa.returnWrappers);
},
function register(t){
var taa = new AdapterRegistry();
taa.register("blah",
function(str){ return str == "blah"; },
function(){ return "blah"; }
);
t.is(1, taa.pairs.length);
t.is("blah", taa.pairs[0][0]);
taa.register("thinger");
taa.register("prepend", null, null, true, true);
t.is("prepend", taa.pairs[0][0]);
t.t(taa.pairs[0][3]);
},
/*
function match(t){
},
*/
function noMatch(t){
var taa = new AdapterRegistry();
var threw = false;
try{
taa.match("blah");
}catch(e){
threw = true;
}
t.t(threw);
},
function returnWrappers(t){
var taa = new AdapterRegistry();
taa.register("blah",
function(str){ return str == "blah"; },
function(){ return "blah"; }
);
t.is("blah", taa.match("blah"));
taa.returnWrappers = true;
t.is("blah", taa.match("blah")());
},
function unregister(t){
var taa = new AdapterRegistry();
taa.register("blah",
function(str){ return str == "blah"; },
function(){ return "blah"; }
);
taa.register("thinger");
taa.register("prepend", null, null, true, true);
taa.unregister("prepend");
t.is(2, taa.pairs.length);
t.is("blah", taa.pairs[0][0]);
}
]
);
});