@@ -5,6 +5,91 @@ var u = require('unist-builder')
55var select = require ( 'unist-util-select' )
66var Index = require ( '.' )
77
8+ var index = Index
9+
10+ test ( 'Index' , function ( t ) {
11+ var node = { type : 'a' , id : 1 }
12+ var alt = { type : 'b' , id : 1 }
13+ var tree = { type : 'root' , children : [ node , alt ] }
14+ var instance = index ( 'id' )
15+ instance . add ( node )
16+
17+ t . deepEqual (
18+ [ instance instanceof Index , instance . get ( 1 ) ] ,
19+ [ true , [ node ] ] ,
20+ 'index(key)'
21+ )
22+
23+ instance = new Index ( 'id' )
24+ instance . add ( node )
25+
26+ t . deepEqual (
27+ [ instance instanceof Index , instance . get ( 1 ) ] ,
28+ [ true , [ node ] ] ,
29+ 'new Index(key)'
30+ )
31+
32+ instance = index ( keyFn )
33+ instance . add ( node )
34+
35+ t . deepEqual (
36+ [ instance instanceof Index , instance . get ( 1 ) ] ,
37+ [ true , [ node ] ] ,
38+ 'index(keyFn)'
39+ )
40+
41+ instance = new Index ( keyFn )
42+ instance . add ( node )
43+
44+ t . deepEqual (
45+ [ instance instanceof Index , instance . get ( 1 ) ] ,
46+ [ true , [ node ] ] ,
47+ 'new Index(keyFn)'
48+ )
49+
50+ instance = index ( tree , 'id' )
51+
52+ t . deepEqual (
53+ [ instance instanceof Index , instance . get ( 1 ) ] ,
54+ [ true , [ node , alt ] ] ,
55+ 'index(tree, key)'
56+ )
57+
58+ instance = new Index ( tree , keyFn )
59+
60+ t . deepEqual (
61+ [ instance instanceof Index , instance . get ( 1 ) ] ,
62+ [ true , [ node , alt ] ] ,
63+ 'new Index(tree, key)'
64+ )
65+
66+ instance = index ( tree , filter , 'id' )
67+
68+ t . deepEqual (
69+ [ instance instanceof Index , instance . get ( 1 ) ] ,
70+ [ true , [ node ] ] ,
71+ 'index(tree, filter, key)'
72+ )
73+
74+ instance = new Index ( tree , filter , keyFn )
75+
76+ t . deepEqual (
77+ [ instance instanceof Index , instance . get ( 1 ) ] ,
78+ [ true , [ node ] ] ,
79+ 'new Index(tree, filter, key)'
80+ )
81+
82+ t . end ( )
83+
84+ function keyFn ( node ) {
85+ return node . id
86+ }
87+
88+ function filter ( node ) {
89+ return node . type === 'a'
90+ }
91+ } )
92+
893test ( 'index.add' , function ( t ) {
994 var ast = u ( 'root' , [ u ( 'node' , { word : 'foo' } ) , u ( 'node' , { word : 'bar' } ) ] )
1095 var extraNode = u ( 'node' , { word : 'foo' } )
0 commit comments