@@ -191,3 +191,40 @@ test('null == undefined', function (t) {
191191 t . notOk ( equal ( null , undefined , { strict : true } ) ) ;
192192 t . end ( ) ;
193193} ) ;
194+
195+ test ( 'null == undefined' , function ( t ) {
196+ t . ok ( equal ( null , undefined ) , 'null == undefined' ) ;
197+ t . ok ( equal ( undefined , null ) , 'undefined == null' ) ;
198+ t . notOk ( equal ( null , undefined , { strict : true } ) , 'null !== undefined' ) ;
199+ t . notOk ( equal ( undefined , null , { strict : true } ) , 'undefined !== null' ) ;
200+ t . end ( ) ;
201+ } ) ;
202+
203+ test ( 'NaNs' , function ( t ) {
204+ t . notOk ( equal ( NaN , NaN ) , 'NaN is not NaN' ) ;
205+ t . ok ( equal ( NaN , NaN , { strict : true } ) , 'strict: NaN is NaN' ) ;
206+
207+ t . notOk ( equal ( { a : NaN } , { a : NaN } ) , 'two equiv objects with a NaN value are not equiv' ) ;
208+ t . ok ( equal ( { a : NaN } , { a : NaN } , { strict : true } ) , 'strict: two equiv objects with a NaN value are equiv' ) ;
209+
210+ t . notOk ( equal ( NaN , 1 ) , 'NaN !== 1' ) ;
211+ t . notOk ( equal ( NaN , 1 , { strict : true } ) , 'strict: NaN !== 1' ) ;
212+
213+ t . end ( ) ;
214+ } ) ;
215+
216+ test ( 'zeroes' , function ( t ) {
217+ t . ok ( equal ( 0 , - 0 ) , '0 is -0' ) ;
218+ t . ok ( equal ( - 0 , 0 ) , '-0 is 0' ) ;
219+
220+ t . notOk ( equal ( 0 , - 0 , { strict : true } ) , 'strict: 0 is -0' ) ;
221+ t . notOk ( equal ( - 0 , 0 , { strict : true } ) , 'strict: -0 is 0' ) ;
222+
223+ t . ok ( equal ( { a : 0 } , { a : - 0 } ) , 'two objects with a same-keyed 0/-0 value are equal' ) ;
224+ t . ok ( equal ( { a : - 0 } , { a : 0 } ) , 'two objects with a same-keyed -0/0 value are equal' ) ;
225+
226+ t . notOk ( equal ( { a : 0 } , { a : - 0 } , { strict : true } ) , 'strict: two objects with a same-keyed 0/-0 value are equal' ) ;
227+ t . notOk ( equal ( { a : - 0 } , { a : 0 } , { strict : true } ) , 'strict: two objects with a same-keyed -0/0 value are equal' ) ;
228+
229+ t . end ( ) ;
230+ } ) ;
0 commit comments