@@ -34,7 +34,18 @@ describe('mongo data types', () => {
3434 objectId : mongo . ObjectId . createFromHexString ( '66e834cc91d805df11fa0ecb' ) ,
3535 regexp : new mongo . BSONRegExp ( 'test' , 'i' ) ,
3636 minKey : new mongo . MinKey ( ) ,
37- maxKey : new mongo . MaxKey ( )
37+ maxKey : new mongo . MaxKey ( ) ,
38+ symbol : new mongo . BSONSymbol ( 'test' ) ,
39+ js : new mongo . Code ( 'testcode' ) ,
40+ js2 : new mongo . Code ( 'testcode' , { foo : 'bar' } ) ,
41+ pointer : new mongo . DBRef ( 'mycollection' , mongo . ObjectId . createFromHexString ( '66e834cc91d805df11fa0ecb' ) ) ,
42+ pointer2 : new mongo . DBRef (
43+ 'mycollection' ,
44+ mongo . ObjectId . createFromHexString ( '66e834cc91d805df11fa0ecb' ) ,
45+ 'mydb' ,
46+ { foo : 'bar' }
47+ ) ,
48+ undefined : undefined
3849 }
3950 ] ) ;
4051 }
@@ -62,7 +73,11 @@ describe('mongo data types', () => {
6273 objectId : [ mongo . ObjectId . createFromHexString ( '66e834cc91d805df11fa0ecb' ) ] ,
6374 regexp : [ new mongo . BSONRegExp ( 'test' , 'i' ) ] ,
6475 minKey : [ new mongo . MinKey ( ) ] ,
65- maxKey : [ new mongo . MaxKey ( ) ]
76+ maxKey : [ new mongo . MaxKey ( ) ] ,
77+ symbol : [ new mongo . BSONSymbol ( 'test' ) ] ,
78+ js : [ new mongo . Code ( 'testcode' ) ] ,
79+ pointer : [ new mongo . DBRef ( 'mycollection' , mongo . ObjectId . createFromHexString ( '66e834cc91d805df11fa0ecb' ) ) ] ,
80+ undefined : [ undefined ]
6681 }
6782 ] ) ;
6883 }
@@ -97,7 +112,13 @@ describe('mongo data types', () => {
97112 timestamp : 1958505087099n ,
98113 regexp : '{"pattern":"test","options":"i"}' ,
99114 minKey : null ,
100- maxKey : null
115+ maxKey : null ,
116+ symbol : 'test' ,
117+ js : '{"code":"testcode","scope":null}' ,
118+ js2 : '{"code":"testcode","scope":{"foo":"bar"}}' ,
119+ pointer : '{"collection":"mycollection","oid":"66e834cc91d805df11fa0ecb","fields":{}}' ,
120+ pointer2 : '{"collection":"mycollection","oid":"66e834cc91d805df11fa0ecb","db":"mydb","fields":{"foo":"bar"}}' ,
121+ undefined : null
101122 } ) ;
102123 }
103124
@@ -130,7 +151,14 @@ describe('mongo data types', () => {
130151 expect ( transformed [ 3 ] ) . toMatchObject ( {
131152 _id : 10n ,
132153 objectId : '["66e834cc91d805df11fa0ecb"]' ,
133- timestamp : '[1958505087099]'
154+ timestamp : '[1958505087099]' ,
155+ regexp : '[{"pattern":"test","options":"i"}]' ,
156+ symbol : '["test"]' ,
157+ js : '[{"code":"testcode","scope":null}]' ,
158+ pointer : '[{"collection":"mycollection","oid":"66e834cc91d805df11fa0ecb","fields":{}}]' ,
159+ minKey : '[null]' ,
160+ maxKey : '[null]' ,
161+ undefined : '[null]'
134162 } ) ;
135163 }
136164
@@ -245,14 +273,23 @@ describe('mongo data types', () => {
245273 { name : 'int2' , sqlite_type : 4 , internal_type : 'Integer' } ,
246274 { name : 'int4' , sqlite_type : 4 , internal_type : 'Integer' } ,
247275 { name : 'int8' , sqlite_type : 4 , internal_type : 'Long' } ,
276+ // We can fix these later
277+ { name : 'js' , sqlite_type : 2 , internal_type : 'Object' } ,
278+ { name : 'js2' , sqlite_type : 2 , internal_type : 'Object' } ,
248279 { name : 'maxKey' , sqlite_type : 0 , internal_type : 'MaxKey' } ,
249280 { name : 'minKey' , sqlite_type : 0 , internal_type : 'MinKey' } ,
250281 { name : 'nested' , sqlite_type : 2 , internal_type : 'Object' } ,
251282 { name : 'null' , sqlite_type : 0 , internal_type : 'Null' } ,
252283 { name : 'objectId' , sqlite_type : 2 , internal_type : 'ObjectId' } ,
284+ // We can fix these later
285+ { name : 'pointer' , sqlite_type : 2 , internal_type : 'Object' } ,
286+ { name : 'pointer2' , sqlite_type : 2 , internal_type : 'Object' } ,
253287 { name : 'regexp' , sqlite_type : 2 , internal_type : 'RegExp' } ,
288+ // Can fix this later
289+ { name : 'symbol' , sqlite_type : 2 , internal_type : 'String' } ,
254290 { name : 'text' , sqlite_type : 2 , internal_type : 'String' } ,
255291 { name : 'timestamp' , sqlite_type : 4 , internal_type : 'Timestamp' } ,
292+ { name : 'undefined' , sqlite_type : 0 , internal_type : 'Null' } ,
256293 { name : 'uuid' , sqlite_type : 2 , internal_type : 'UUID' }
257294 ]
258295 }
0 commit comments