@@ -30,6 +30,19 @@ test('==, number', function(t) {
30
30
t . end ( ) ;
31
31
} ) ;
32
32
33
+ test ( '==, null' , function ( t ) {
34
+ var f = filter ( [ '==' , 'foo' , null ] ) ;
35
+ t . equal ( f ( { properties : { foo : 0 } } ) , false ) ;
36
+ t . equal ( f ( { properties : { foo : 1 } } ) , false ) ;
37
+ t . equal ( f ( { properties : { foo : '0' } } ) , false ) ;
38
+ t . equal ( f ( { properties : { foo : true } } ) , false ) ;
39
+ t . equal ( f ( { properties : { foo : false } } ) , false ) ;
40
+ t . equal ( f ( { properties : { foo : null } } ) , true ) ;
41
+ t . equal ( f ( { properties : { foo : undefined } } ) , false ) ;
42
+ t . equal ( f ( { properties : { } } ) , false ) ;
43
+ t . end ( ) ;
44
+ } ) ;
45
+
33
46
test ( '==, $type' , function ( t ) {
34
47
var f = filter ( [ '==' , '$type' , 'LineString' ] ) ;
35
48
t . equal ( f ( { type : 1 } ) , false ) ;
@@ -57,6 +70,19 @@ test('!=, number', function(t) {
57
70
t . end ( ) ;
58
71
} ) ;
59
72
73
+ test ( '!=, null' , function ( t ) {
74
+ var f = filter ( [ '!=' , 'foo' , null ] ) ;
75
+ t . equal ( f ( { properties : { foo : 0 } } ) , true ) ;
76
+ t . equal ( f ( { properties : { foo : 1 } } ) , true ) ;
77
+ t . equal ( f ( { properties : { foo : '0' } } ) , true ) ;
78
+ t . equal ( f ( { properties : { foo : true } } ) , true ) ;
79
+ t . equal ( f ( { properties : { foo : false } } ) , true ) ;
80
+ t . equal ( f ( { properties : { foo : null } } ) , false ) ;
81
+ t . equal ( f ( { properties : { foo : undefined } } ) , true ) ;
82
+ t . equal ( f ( { properties : { } } ) , true ) ;
83
+ t . end ( ) ;
84
+ } ) ;
85
+
60
86
test ( '!=, $type' , function ( t ) {
61
87
var f = filter ( [ '!=' , '$type' , 'LineString' ] ) ;
62
88
t . equal ( f ( { type : 1 } ) , true ) ;
@@ -217,6 +243,17 @@ test('in, number', function(t) {
217
243
t . end ( ) ;
218
244
} ) ;
219
245
246
+ test ( 'in, null' , function ( t ) {
247
+ var f = filter ( [ 'in' , 'foo' , null ] ) ;
248
+ t . equal ( f ( { properties : { foo : 0 } } ) , false ) ;
249
+ t . equal ( f ( { properties : { foo : '0' } } ) , false ) ;
250
+ t . equal ( f ( { properties : { foo : true } } ) , false ) ;
251
+ t . equal ( f ( { properties : { foo : false } } ) , false ) ;
252
+ t . equal ( f ( { properties : { foo : null } } ) , true ) ;
253
+ t . equal ( f ( { properties : { foo : undefined } } ) , false ) ;
254
+ t . end ( ) ;
255
+ } ) ;
256
+
220
257
test ( 'in, multiple' , function ( t ) {
221
258
var f = filter ( [ 'in' , 'foo' , 0 , 1 ] ) ;
222
259
t . equal ( f ( { properties : { foo : 0 } } ) , true ) ;
@@ -273,6 +310,15 @@ test('!in, number', function(t) {
273
310
t . end ( ) ;
274
311
} ) ;
275
312
313
+ test ( '!in, null' , function ( t ) {
314
+ var f = filter ( [ '!in' , 'foo' , null ] ) ;
315
+ t . equal ( f ( { properties : { foo : 0 } } ) , true ) ;
316
+ t . equal ( f ( { properties : { foo : '0' } } ) , true ) ;
317
+ t . equal ( f ( { properties : { foo : null } } ) , false ) ;
318
+ t . equal ( f ( { properties : { foo : undefined } } ) , true ) ;
319
+ t . end ( ) ;
320
+ } ) ;
321
+
276
322
test ( '!in, multiple' , function ( t ) {
277
323
var f = filter ( [ '!in' , 'foo' , 0 , 1 ] ) ;
278
324
t . equal ( f ( { properties : { foo : 0 } } ) , false ) ;
0 commit comments