@@ -23,3 +23,24 @@ test('iso8601 gets parsed as time', () => {
23
23
[ 1136214373000 , 1136214433000 ] ,
24
24
] ) ;
25
25
} ) ;
26
+
27
+ test ( 'nullable iso8601 gets parsed as time' , ( ) => {
28
+ expect ( detectFieldType ( [ '2006-01-02T15:06:13Z' , null ] ) ) . toEqual ( [ 'time' , [ 1136214373000 , null ] ] ) ;
29
+ } ) ;
30
+
31
+ test ( 'all zeros gets parsed as number' , ( ) => {
32
+ expect ( detectFieldType ( [ 0 , 0 , 0 ] ) ) . toEqual ( [ 'number' , [ 0 , 0 , 0 ] ] ) ;
33
+ expect ( detectFieldType ( [ 0 , 0 , 1 ] ) ) . toEqual ( [ 'number' , [ 0 , 0 , 1 ] ] ) ;
34
+
35
+ expect ( detectFieldType ( [ false , false , false ] ) ) . toEqual ( [ 'boolean' , [ false , false , false ] ] ) ;
36
+ expect ( detectFieldType ( [ false , false , true ] ) ) . toEqual ( [ 'boolean' , [ false , false , true ] ] ) ;
37
+ } ) ;
38
+
39
+ test ( 'all false gets parsed as boolean' , ( ) => {
40
+ expect ( detectFieldType ( [ false , false , false ] ) ) . toEqual ( [ 'boolean' , [ false , false , false ] ] ) ;
41
+ expect ( detectFieldType ( [ false , false , true ] ) ) . toEqual ( [ 'boolean' , [ false , false , true ] ] ) ;
42
+ } ) ;
43
+
44
+ test ( 'all null gets parsed as string' , ( ) => {
45
+ expect ( detectFieldType ( [ null , null ] ) ) . toEqual ( [ 'string' , [ null , null ] ] ) ;
46
+ } ) ;
0 commit comments