summaryrefslogtreecommitdiff
path: root/jstests/core/query/date/date3.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/query/date/date3.js')
-rw-r--r--jstests/core/query/date/date3.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/jstests/core/query/date/date3.js b/jstests/core/query/date/date3.js
new file mode 100644
index 00000000000..e3eaea620ec
--- /dev/null
+++ b/jstests/core/query/date/date3.js
@@ -0,0 +1,33 @@
+// Check dates before Unix epoch - SERVER-405
+//
+// @tags: [requires_fastcount]
+
+t = db.date3;
+t.drop();
+
+d1 = new Date(-1000);
+dz = new Date(0);
+d2 = new Date(1000);
+
+t.save({x: 3, d: dz});
+t.save({x: 2, d: d2});
+t.save({x: 1, d: d1});
+
+function test() {
+ var list = t.find({d: {$lt: dz}});
+ assert.eq(1, list.size());
+ assert.eq(1, list[0].x);
+ assert.eq(d1, list[0].d);
+ var list = t.find({d: {$gt: dz}});
+ assert.eq(1, list.size());
+ assert.eq(2, list[0].x);
+ var list = t.find().sort({d: 1});
+ assert.eq(3, list.size());
+ assert.eq(1, list[0].x);
+ assert.eq(3, list[1].x);
+ assert.eq(2, list[2].x);
+}
+
+test();
+t.createIndex({d: 1});
+test();