summaryrefslogtreecommitdiff
path: root/jstests/shelltypes.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/shelltypes.js')
-rw-r--r--jstests/shelltypes.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/jstests/shelltypes.js b/jstests/shelltypes.js
new file mode 100644
index 00000000000..3f109269b39
--- /dev/null
+++ b/jstests/shelltypes.js
@@ -0,0 +1,53 @@
+// check that constructor also works without "new"
+var a;
+var b;
+a = new ObjectId();
+b = ObjectId(a.valueOf());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "oid");
+
+a = new DBRef("test", "theid");
+b = DBRef(a.getRef(), a.getId());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "dbref");
+
+a = new DBPointer("test", new ObjectId());
+b = DBPointer(a.getCollection(), a.getId());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "dbpointer");
+
+a = new Timestamp(10, 20);
+b = Timestamp(a.t, a.i);
+printjson(a);
+assert.eq(tojson(a), tojson(b), "timestamp");
+
+a = new BinData(3,"VQ6EAOKbQdSnFkRmVUQAAA==");
+b = BinData(a.type, a.base64());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "bindata");
+
+a = new UUID("550e8400e29b41d4a716446655440000");
+b = UUID(a.hex());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "uuid");
+
+a = new MD5("550e8400e29b41d4a716446655440000");
+b = MD5(a.hex());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "md5");
+
+a = new HexData(4, "550e8400e29b41d4a716446655440000");
+b = HexData(a.type, a.hex());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "hexdata");
+
+a = new NumberLong(100);
+b = NumberLong(a.toNumber());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "long");
+
+a = new NumberInt(100);
+b = NumberInt(a.toNumber());
+printjson(a);
+assert.eq(tojson(a), tojson(b), "int");
+