@@ -415,17 +415,7 @@ describe('Lifx-Light', () => {
415415 done ( ) ;
416416 } ) ;
417417
418- it ( 'false (off)' , ( done ) => {
419- lightItem . setColor ( false ) ;
420- expect ( lifxItem . off ) . to . have . been . called ( ) ;
421- done ( ) ;
422- } ) ;
423418
424- it ( '"off"' , ( done ) => {
425- lightItem . setColor ( "off" ) ;
426- expect ( lifxItem . off ) . to . have . been . called ( ) ;
427- done ( ) ;
428- } ) ;
429419
430420 it ( '50 (brightness)' , ( done ) => {
431421 lightItem . setColor ( 50 ) ;
@@ -450,6 +440,151 @@ describe('Lifx-Light', () => {
450440 expect ( lifxItem . color ) . to . have . been . called . with . exactly ( 0 , 100 , 50 , 4000 , 0 ) ;
451441 done ( ) ;
452442 } ) ;
443+
444+ describe ( 'Off' , ( ) => {
445+
446+ beforeEach ( ( ) => {
447+ lightItem . state . on = true ;
448+ } ) ;
449+
450+ it ( 'false' , ( done ) => {
451+ lightItem . setColor ( false ) ;
452+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
453+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
454+ done ( ) ;
455+ } ) ;
456+
457+ it ( '"off"' , ( done ) => {
458+ lightItem . setColor ( "off" ) ;
459+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
460+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
461+ done ( ) ;
462+ } ) ;
463+
464+ it ( '{on:false}' , ( done ) => {
465+ lightItem . setColor ( { on :false } ) ;
466+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
467+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
468+ done ( ) ;
469+ } ) ;
470+
471+ it ( '{on:"false"}' , ( done ) => {
472+ lightItem . setColor ( { on :"false" } ) ;
473+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
474+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
475+ done ( ) ;
476+ } ) ;
477+
478+ it ( '{on:0}' , ( done ) => {
479+ lightItem . setColor ( { on :0 } ) ;
480+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
481+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
482+ done ( ) ;
483+ } ) ;
484+
485+ it ( '{on:"off"}' , ( done ) => {
486+ lightItem . setColor ( { on :"off" } ) ;
487+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
488+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
489+ done ( ) ;
490+ } ) ;
491+
492+ it ( '{on:false}' , ( done ) => {
493+ lightItem . setColor ( { on :"false" } ) ;
494+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
495+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
496+ done ( ) ;
497+ } ) ;
498+ } ) ;
499+ describe ( 'On' , ( ) => {
500+ beforeEach ( ( ) => {
501+ lightItem . state . on = false ;
502+ } ) ;
503+
504+ it ( 'true' , ( done ) => {
505+ lightItem . setColor ( true ) ;
506+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
507+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
508+ done ( ) ;
509+ } ) ;
510+
511+ it ( '"on"' , ( done ) => {
512+ lightItem . setColor ( "on" ) ;
513+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
514+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
515+ done ( ) ;
516+ } ) ;
517+
518+ it ( '{on:true}' , ( done ) => {
519+ lightItem . setColor ( { on :true } ) ;
520+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
521+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
522+ done ( ) ;
523+ } ) ;
524+
525+ it ( '{on:"true"}' , ( done ) => {
526+ lightItem . setColor ( { on :"true" } ) ;
527+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
528+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
529+ done ( ) ;
530+ } ) ;
531+
532+ it ( '{on:1}' , ( done ) => {
533+ lightItem . setColor ( { on :1 } ) ;
534+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
535+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
536+ done ( ) ;
537+ } ) ;
538+
539+ it ( '{on:"on"}' , ( done ) => {
540+ lightItem . setColor ( { on :"on" } ) ;
541+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
542+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
543+ done ( ) ;
544+ } ) ;
545+
546+ it ( '{on:true}' , ( done ) => {
547+ lightItem . setColor ( { on :"true" } ) ;
548+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
549+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
550+ done ( ) ;
551+ } ) ;
552+ } ) ;
553+
554+ describe ( 'Toggle' , ( ) => {
555+ it ( '"toggle" on => off' , ( done ) => {
556+ lightItem . state . on = true ;
557+
558+ lightItem . setColor ( 'toggle' ) ;
559+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
560+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
561+ done ( ) ;
562+ } ) ;
563+ it ( '"toggle" off => on' , ( done ) => {
564+ lightItem . state . on = false ;
565+
566+ lightItem . setColor ( 'toggle' ) ;
567+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
568+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
569+ done ( ) ;
570+ } ) ;
571+ it ( '{on:"toggle"} on => off' , ( done ) => {
572+ lightItem . state . on = true ;
573+
574+ lightItem . setColor ( { on :'toggle' } ) ;
575+ expect ( lifxItem . on ) . to . not . have . been . called ( ) ;
576+ expect ( lifxItem . off ) . to . have . been . called ( ) ;
577+ done ( ) ;
578+ } ) ;
579+ it ( '{on:"toggle"} off => on' , ( done ) => {
580+ lightItem . state . on = false ;
581+
582+ lightItem . setColor ( { on :'toggle' } ) ;
583+ expect ( lifxItem . off ) . to . not . have . been . called ( ) ;
584+ expect ( lifxItem . on ) . to . have . been . called ( ) ;
585+ done ( ) ;
586+ } ) ;
587+ } ) ;
453588 } ) ;
454589
455590
@@ -632,6 +767,7 @@ describe('Lifx-Light', () => {
632767 lightItem . setColor ( { maxIR : 66 } ) ;
633768
634769 expect ( lifxItem . on ) . not . to . have . been . called ( ) ;
770+ expect ( lifxItem . off ) . not . to . have . been . called ( ) ;
635771 expect ( lifxItem . color ) . not . to . have . been . called ( ) ;
636772
637773 expect ( lifxItem . maxIR ) . to . have . been . called ( ) ;
0 commit comments