@@ -330,6 +330,61 @@ describe('IgxSlider', () => {
330
330
fixture . detectChanges ( ) ;
331
331
expect ( Math . round ( slider . value as number ) ) . toBe ( 60 ) ;
332
332
} ) ;
333
+
334
+ it ( 'should not set value if value is nullish but not zero' , ( ) => {
335
+ spyOn ( slider as any , 'isNullishButNotZero' ) . and . returnValue ( true ) ;
336
+ const setValueSpy = spyOn ( slider , 'setValue' ) ;
337
+ const positionHandlersAndUpdateTrackSpy = spyOn ( slider as any , 'positionHandlersAndUpdateTrack' ) ;
338
+
339
+ slider . writeValue ( null ) ;
340
+ fixture . detectChanges ( ) ;
341
+
342
+ expect ( setValueSpy ) . not . toHaveBeenCalled ( ) ;
343
+ expect ( positionHandlersAndUpdateTrackSpy ) . not . toHaveBeenCalled ( ) ;
344
+
345
+ slider . writeValue ( undefined ) ;
346
+ fixture . detectChanges ( ) ;
347
+
348
+ expect ( setValueSpy ) . not . toHaveBeenCalled ( ) ;
349
+ expect ( positionHandlersAndUpdateTrackSpy ) . not . toHaveBeenCalled ( ) ;
350
+ } ) ;
351
+
352
+ it ( 'should set value and update track when value is not nullish and not zero' , ( ) => {
353
+ spyOn ( slider as any , 'isNullishButNotZero' ) . and . returnValue ( false ) ;
354
+ const setValueSpy = spyOn ( slider , 'setValue' ) ;
355
+ const positionHandlersAndUpdateTrackSpy = spyOn ( slider as any , 'positionHandlersAndUpdateTrack' ) ;
356
+
357
+ const value = 10 ;
358
+ slider . writeValue ( value ) ;
359
+ fixture . detectChanges ( ) ;
360
+
361
+ expect ( setValueSpy ) . toHaveBeenCalledWith ( value , false ) ;
362
+ expect ( positionHandlersAndUpdateTrackSpy ) . toHaveBeenCalled ( ) ;
363
+ } ) ;
364
+
365
+ it ( 'should normalize value by step' , ( ) => {
366
+ spyOn ( slider as any , 'isNullishButNotZero' ) . and . returnValue ( false ) ;
367
+ const normalizeByStepSpy = spyOn ( slider as any , 'normalizeByStep' ) ;
368
+
369
+ const value = 10 ;
370
+ slider . writeValue ( value ) ;
371
+ fixture . detectChanges ( ) ;
372
+
373
+ expect ( normalizeByStepSpy ) . toHaveBeenCalledWith ( value ) ;
374
+ } ) ;
375
+
376
+ it ( 'should return true if value is null or undefined' , ( ) => {
377
+ expect ( ( slider as any ) . isNullishButNotZero ( null ) ) . toBe ( true ) ;
378
+ expect ( ( slider as any ) . isNullishButNotZero ( undefined ) ) . toBe ( true ) ;
379
+ } ) ;
380
+
381
+ it ( 'should return false if value is zero' , ( ) => {
382
+ expect ( ( slider as any ) . isNullishButNotZero ( 0 ) ) . toBe ( false ) ;
383
+ } ) ;
384
+
385
+ it ( 'should return false if value is not nullish and not zero' , ( ) => {
386
+ expect ( ( slider as any ) . isNullishButNotZero ( 10 ) ) . toBe ( false ) ;
387
+ } ) ;
333
388
} ) ;
334
389
335
390
describe ( 'Slider: with set min and max value' , ( ) => {
0 commit comments