@@ -569,52 +569,17 @@ describe('Database Functions', () => {
569
569
expect ( subject . val ( ) ) . to . equal ( 0 ) ;
570
570
populate ( { myKey : 0 } ) ;
571
571
expect ( subject . val ( ) ) . to . deep . equal ( { myKey : 0 } ) ;
572
+
573
+ // Null values are still reported as null.
574
+ populate ( { myKey : null } ) ;
575
+ expect ( subject . val ( ) ) . to . deep . equal ( { myKey : null } ) ;
572
576
} ) ;
573
577
574
578
// Regression test: .val() was returning array of nulls when there's a property called length (BUG#37683995)
575
579
it ( 'should return correct values when data has "length" property' , ( ) => {
576
580
populate ( { length : 3 , foo : 'bar' } ) ;
577
581
expect ( subject . val ( ) ) . to . deep . equal ( { length : 3 , foo : 'bar' } ) ;
578
582
} ) ;
579
-
580
- it ( 'should deal with null-values appropriately' , ( ) => {
581
- populate ( null ) ;
582
- expect ( subject . val ( ) ) . to . be . null ;
583
-
584
- populate ( { myKey : null } ) ;
585
- expect ( subject . val ( ) ) . to . be . null ;
586
- } ) ;
587
-
588
- it ( 'should deal with empty object values appropriately' , ( ) => {
589
- populate ( { } ) ;
590
- expect ( subject . val ( ) ) . to . be . null ;
591
-
592
- populate ( { myKey : { } } ) ;
593
- expect ( subject . val ( ) ) . to . be . null ;
594
-
595
- populate ( { myKey : { child : null } } ) ;
596
- expect ( subject . val ( ) ) . to . be . null ;
597
- } ) ;
598
-
599
- it ( 'should deal with empty array values appropriately' , ( ) => {
600
- populate ( [ ] ) ;
601
- expect ( subject . val ( ) ) . to . be . null ;
602
-
603
- populate ( { myKey : [ ] } ) ;
604
- expect ( subject . val ( ) ) . to . be . null ;
605
-
606
- populate ( { myKey : [ null ] } ) ;
607
- expect ( subject . val ( ) ) . to . be . null ;
608
-
609
- populate ( { myKey : [ { } ] } ) ;
610
- expect ( subject . val ( ) ) . to . be . null ;
611
-
612
- populate ( { myKey : [ { myKey : null } ] } ) ;
613
- expect ( subject . val ( ) ) . to . be . null ;
614
-
615
- populate ( { myKey : [ { myKey : { } } ] } ) ;
616
- expect ( subject . val ( ) ) . to . be . null ;
617
- } ) ;
618
583
} ) ;
619
584
620
585
describe ( '#child(): DataSnapshot' , ( ) => {
@@ -641,37 +606,14 @@ describe('Database Functions', () => {
641
606
} ) ;
642
607
643
608
it ( 'should be false for a non-existent value' , ( ) => {
644
- populate ( { a : { b : 'c' , nullChild : null } } ) ;
609
+ populate ( { a : { b : 'c' } } ) ;
645
610
expect ( subject . child ( 'd' ) . exists ( ) ) . to . be . false ;
646
- expect ( subject . child ( 'nullChild' ) . exists ( ) ) . to . be . false ;
647
611
} ) ;
648
612
649
613
it ( 'should be false for a value pathed beyond a leaf' , ( ) => {
650
614
populate ( { a : { b : 'c' } } ) ;
651
615
expect ( subject . child ( 'a/b/c' ) . exists ( ) ) . to . be . false ;
652
616
} ) ;
653
-
654
- it ( 'should be false for an empty object value' , ( ) => {
655
- populate ( { a : { } } ) ;
656
- expect ( subject . child ( 'a' ) . exists ( ) ) . to . be . false ;
657
-
658
- populate ( { a : { child : null } } ) ;
659
- expect ( subject . child ( 'a' ) . exists ( ) ) . to . be . false ;
660
-
661
- populate ( { a : { child : { } } } ) ;
662
- expect ( subject . child ( 'a' ) . exists ( ) ) . to . be . false ;
663
- } ) ;
664
-
665
- it ( 'should be false for an empty array value' , ( ) => {
666
- populate ( { a : [ ] } ) ;
667
- expect ( subject . child ( 'a' ) . exists ( ) ) . to . be . false ;
668
-
669
- populate ( { a : [ null ] } ) ;
670
- expect ( subject . child ( 'a' ) . exists ( ) ) . to . be . false ;
671
-
672
- populate ( { a : [ { } ] } ) ;
673
- expect ( subject . child ( 'a' ) . exists ( ) ) . to . be . false ;
674
- } ) ;
675
617
} ) ;
676
618
677
619
describe ( '#forEach(action: (a: DataSnapshot) => boolean): boolean' , ( ) => {
@@ -700,17 +642,6 @@ describe('Database Functions', () => {
700
642
701
643
expect ( subject . forEach ( counter ) ) . to . equal ( false ) ;
702
644
expect ( count ) . to . eq ( 0 ) ;
703
-
704
- populate ( {
705
- a : 'foo' ,
706
- nullChild : null ,
707
- emptyObjectChild : { } ,
708
- emptyArrayChild : [ ] ,
709
- } ) ;
710
- count = 0 ;
711
-
712
- expect ( subject . forEach ( counter ) ) . to . equal ( false ) ;
713
- expect ( count ) . to . eq ( 1 ) ;
714
645
} ) ;
715
646
716
647
it ( 'should cancel further enumeration if callback returns true' , ( ) => {
@@ -750,51 +681,13 @@ describe('Database Functions', () => {
750
681
751
682
describe ( '#numChildren()' , ( ) => {
752
683
it ( 'should be key count for objects' , ( ) => {
753
- populate ( {
754
- a : 'b' ,
755
- c : 'd' ,
756
- nullChild : null ,
757
- emptyObjectChild : { } ,
758
- emptyArrayChild : [ ] ,
759
- } ) ;
684
+ populate ( { a : 'b' , c : 'd' } ) ;
760
685
expect ( subject . numChildren ( ) ) . to . eq ( 2 ) ;
761
686
} ) ;
762
687
763
688
it ( 'should be 0 for non-objects' , ( ) => {
764
689
populate ( 23 ) ;
765
690
expect ( subject . numChildren ( ) ) . to . eq ( 0 ) ;
766
-
767
- populate ( {
768
- nullChild : null ,
769
- emptyObjectChild : { } ,
770
- emptyArrayChild : [ ] ,
771
- } ) ;
772
- expect ( subject . numChildren ( ) ) . to . eq ( 0 ) ;
773
- } ) ;
774
- } ) ;
775
-
776
- describe ( '#hasChildren()' , ( ) => {
777
- it ( 'should true for objects' , ( ) => {
778
- populate ( {
779
- a : 'b' ,
780
- c : 'd' ,
781
- nullChild : null ,
782
- emptyObjectChild : { } ,
783
- emptyArrayChild : [ ] ,
784
- } ) ;
785
- expect ( subject . hasChildren ( ) ) . to . be . true ;
786
- } ) ;
787
-
788
- it ( 'should be false for non-objects' , ( ) => {
789
- populate ( 23 ) ;
790
- expect ( subject . hasChildren ( ) ) . to . be . false ;
791
-
792
- populate ( {
793
- nullChild : null ,
794
- emptyObjectChild : { } ,
795
- emptyArrayChild : [ ] ,
796
- } ) ;
797
- expect ( subject . hasChildren ( ) ) . to . be . false ;
798
691
} ) ;
799
692
} ) ;
800
693
@@ -806,17 +699,9 @@ describe('Database Functions', () => {
806
699
} ) ;
807
700
808
701
it ( 'should return false if a child is missing' , ( ) => {
809
- populate ( {
810
- a : 'b' ,
811
- nullChild : null ,
812
- emptyObjectChild : { } ,
813
- emptyArrayChild : [ ] ,
814
- } ) ;
702
+ populate ( { a : 'b' } ) ;
815
703
expect ( subject . hasChild ( 'c' ) ) . to . be . false ;
816
704
expect ( subject . hasChild ( 'a/b' ) ) . to . be . false ;
817
- expect ( subject . hasChild ( 'nullChild' ) ) . to . be . false ;
818
- expect ( subject . hasChild ( 'emptyObjectChild' ) ) . to . be . false ;
819
- expect ( subject . hasChild ( 'emptyArrayChild' ) ) . to . be . false ;
820
705
} ) ;
821
706
} ) ;
822
707
@@ -846,21 +731,11 @@ describe('Database Functions', () => {
846
731
847
732
describe ( '#toJSON(): Object' , ( ) => {
848
733
it ( 'should return the current value' , ( ) => {
849
- populate ( {
850
- a : 'b' ,
851
- nullChild : null ,
852
- emptyObjectChild : { } ,
853
- emptyArrayChild : [ ] ,
854
- } ) ;
734
+ populate ( { a : 'b' } ) ;
855
735
expect ( subject . toJSON ( ) ) . to . deep . equal ( subject . val ( ) ) ;
856
736
} ) ;
857
737
it ( 'should be stringifyable' , ( ) => {
858
- populate ( {
859
- a : 'b' ,
860
- nullChild : null ,
861
- emptyObjectChild : { } ,
862
- emptyArrayChild : [ ] ,
863
- } ) ;
738
+ populate ( { a : 'b' } ) ;
864
739
expect ( JSON . stringify ( subject ) ) . to . deep . equal ( '{"a":"b"}' ) ;
865
740
} ) ;
866
741
} ) ;
0 commit comments