@@ -19,13 +19,17 @@ describe('get', () => {
19
19
expect ( get ( { } , [ ] , 0 ) ) . toBe ( 0 )
20
20
expect ( get ( { a : 'b' } , 'b' , { } ) ) . toEqual ( { } )
21
21
expect ( get ( { a : { c : 'd' } } , 'a.d' , [ ] ) ) . toEqual ( [ ] )
22
+ expect ( get ( { a : { c : undefined } } , 'a.c' ) ) . toBe ( null )
23
+ expect ( get ( { a : 0 , b : false } , 'c' ) ) . toBe ( null )
22
24
} )
23
25
24
26
it ( 'returns expected value' , async ( ) => {
25
27
const obj1 = { a : 'b' }
26
28
const obj2 = { a : { b : { c : { d : 'e' } } } }
27
29
const obj3 = { a : [ { b : 'c' } ] }
28
30
const obj4 = { a : [ [ { b : 'c' } ] , [ { d : { e : [ 'f' ] } } ] ] }
31
+ const obj5 = { a : { b : 0 , c : '' , d : false } }
32
+ const obj6 = { a : 0 , b : false }
29
33
30
34
expect ( get ( obj1 , 'a' ) ) . toBe ( 'b' )
31
35
expect ( get ( obj1 , [ 'a' ] ) ) . toBe ( 'b' )
@@ -36,6 +40,11 @@ describe('get', () => {
36
40
expect ( get ( obj4 , 'a[1][0].d.e[0]' ) ) . toBe ( 'f' )
37
41
expect ( get ( obj4 , [ 'a' , 1 , 0 , 'd' , 'e' , 0 ] ) ) . toBe ( 'f' )
38
42
expect ( get ( obj4 , [ 'a[1]' , 0 , 'd' , 'e[0]' ] ) ) . toBe ( 'f' )
43
+ expect ( get ( obj5 , 'a.b' ) ) . toBe ( 0 )
44
+ expect ( get ( obj5 , 'a.c' ) ) . toBe ( '' )
45
+ expect ( get ( obj5 , 'a.d' ) ) . toBe ( false )
46
+ expect ( get ( obj6 , 'a' ) ) . toBe ( 0 )
47
+ expect ( get ( obj6 , 'b' ) ) . toBe ( false )
39
48
} )
40
49
41
50
it ( 'handles when field name has dot' , async ( ) => {
0 commit comments