@@ -7,6 +7,7 @@ describe('Filter: filter', function() {
7
7
filter = $filter ( 'filter' ) ;
8
8
} ) ) ;
9
9
10
+
10
11
it ( 'should filter by string' , function ( ) {
11
12
var items = [ 'MIsKO' , { name : 'shyam' } , [ 'adam' ] , 1234 ] ;
12
13
expect ( filter ( items , '' ) . length ) . toBe ( 4 ) ;
@@ -27,13 +28,15 @@ describe('Filter: filter', function() {
27
28
expect ( filter ( items , "I don't exist" ) . length ) . toBe ( 0 ) ;
28
29
} ) ;
29
30
31
+
30
32
it ( 'should not read $ properties' , function ( ) {
31
33
expect ( '' . charAt ( 0 ) ) . toBe ( '' ) ; // assumption
32
34
33
35
var items = [ { $name : 'misko' } ] ;
34
36
expect ( filter ( items , 'misko' ) . length ) . toBe ( 0 ) ;
35
37
} ) ;
36
38
39
+
37
40
it ( 'should filter on specific property' , function ( ) {
38
41
var items = [ { ignore : 'a' , name : 'a' } , { ignore : 'a' , name : 'abc' } ] ;
39
42
expect ( filter ( items , { } ) . length ) . toBe ( 2 ) ;
@@ -44,11 +47,13 @@ describe('Filter: filter', function() {
44
47
expect ( filter ( items , { name : 'b' } ) [ 0 ] . name ) . toBe ( 'abc' ) ;
45
48
} ) ;
46
49
50
+
47
51
it ( 'should take function as predicate' , function ( ) {
48
52
var items = [ { name : 'a' } , { name : 'abc' , done : true } ] ;
49
53
expect ( filter ( items , function ( i ) { return i . done ; } ) . length ) . toBe ( 1 ) ;
50
54
} ) ;
51
55
56
+
52
57
it ( 'should pass the index to a function predicate' , function ( ) {
53
58
var items = [ 0 , 1 , 2 , 3 ] ;
54
59
@@ -59,6 +64,7 @@ describe('Filter: filter', function() {
59
64
expect ( result ) . toEqual ( [ 0 , 2 ] ) ;
60
65
} ) ;
61
66
67
+
62
68
it ( 'should take object as predicate' , function ( ) {
63
69
var items = [ { first : 'misko' , last : 'hevery' } ,
64
70
{ first : 'adam' , last : 'abrons' } ] ;
@@ -103,17 +109,19 @@ describe('Filter: filter', function() {
103
109
expect ( filter ( items , { $ : 'hevery' } ) [ 0 ] ) . toEqual ( items [ 0 ] ) ;
104
110
} ) ;
105
111
112
+
106
113
it ( 'should support boolean properties' , function ( ) {
107
114
var items = [ { name : 'tom' , current : true } ,
108
- { name : 'demi' , current : false } ,
109
- { name : 'sofia' } ] ;
115
+ { name : 'demi' , current : false } ,
116
+ { name : 'sofia' } ] ;
110
117
111
118
expect ( filter ( items , { current :true } ) . length ) . toBe ( 1 ) ;
112
119
expect ( filter ( items , { current :true } ) [ 0 ] . name ) . toBe ( 'tom' ) ;
113
120
expect ( filter ( items , { current :false } ) . length ) . toBe ( 1 ) ;
114
121
expect ( filter ( items , { current :false } ) [ 0 ] . name ) . toBe ( 'demi' ) ;
115
122
} ) ;
116
123
124
+
117
125
it ( 'should support negation operator' , function ( ) {
118
126
var items = [ 'misko' , 'adam' ] ;
119
127
@@ -133,8 +141,8 @@ describe('Filter: filter', function() {
133
141
{ key : 'value1' , nonkey : 1 } ,
134
142
{ key : 'value2' , nonkey : 2 } ,
135
143
{ key : 'value12' , nonkey : 3 } ,
136
- { key : 'value1' , nonkey :4 } ,
137
- { key : 'Value1' , nonkey :5 }
144
+ { key : 'value1' , nonkey : 4 } ,
145
+ { key : 'Value1' , nonkey : 5 }
138
146
] ;
139
147
expr = { key : 'value1' } ;
140
148
expect ( filter ( items , expr , true ) ) . toEqual ( [ items [ 0 ] , items [ 3 ] ] ) ;
@@ -143,21 +151,22 @@ describe('Filter: filter', function() {
143
151
{ key : 1 , nonkey : 1 } ,
144
152
{ key : 2 , nonkey : 2 } ,
145
153
{ key : 12 , nonkey : 3 } ,
146
- { key : 1 , nonkey :4 }
154
+ { key : 1 , nonkey : 4 }
147
155
] ;
148
- expr = { key : 1 } ;
156
+ expr = { key : 1 } ;
149
157
expect ( filter ( items , expr , true ) ) . toEqual ( [ items [ 0 ] , items [ 3 ] ] ) ;
150
158
151
159
expr = 12 ;
152
160
expect ( filter ( items , expr , true ) ) . toEqual ( [ items [ 2 ] ] ) ;
153
161
} ) ;
154
162
163
+
155
164
it ( 'and use the function given to compare values' , function ( ) {
156
165
var items = [
157
166
{ key : 1 , nonkey : 1 } ,
158
167
{ key : 2 , nonkey : 2 } ,
159
168
{ key : 12 , nonkey : 3 } ,
160
- { key : 1 , nonkey :14 }
169
+ { key : 1 , nonkey : 14 }
161
170
] ;
162
171
var expr = { key : 10 } ;
163
172
var comparator = function ( obj , value ) {
@@ -167,10 +176,6 @@ describe('Filter: filter', function() {
167
176
168
177
expr = 10 ;
169
178
expect ( filter ( items , expr , comparator ) ) . toEqual ( [ items [ 2 ] , items [ 3 ] ] ) ;
170
-
171
179
} ) ;
172
-
173
-
174
180
} ) ;
175
-
176
181
} ) ;
0 commit comments