summaryrefslogtreecommitdiff
path: root/jstests/aggregation/bugs/server10176.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/aggregation/bugs/server10176.js')
-rw-r--r--jstests/aggregation/bugs/server10176.js104
1 files changed, 52 insertions, 52 deletions
diff --git a/jstests/aggregation/bugs/server10176.js b/jstests/aggregation/bugs/server10176.js
index 988beb24f13..9283c819342 100644
--- a/jstests/aggregation/bugs/server10176.js
+++ b/jstests/aggregation/bugs/server10176.js
@@ -4,61 +4,61 @@
load('jstests/aggregation/extras/utils.js');
(function() {
- var coll = db.abs_expr;
- coll.drop();
+var coll = db.abs_expr;
+coll.drop();
- // valid types (numeric and null)
- assert.writeOK(coll.insert({_id: 0, a: 5}));
- assert.writeOK(coll.insert({_id: 1, a: -5}));
- assert.writeOK(coll.insert({_id: 2, a: 5.5}));
- assert.writeOK(coll.insert({_id: 3, a: -5.5}));
- assert.writeOK(coll.insert({_id: 4, a: NumberInt("5")}));
- assert.writeOK(coll.insert({_id: 5, a: NumberInt("-5")}));
- assert.writeOK(coll.insert({_id: 6, a: NumberLong("5")}));
- assert.writeOK(coll.insert({_id: 7, a: NumberLong("-5")}));
- assert.writeOK(coll.insert({_id: 8, a: 0.0}));
- assert.writeOK(coll.insert({_id: 9, a: -0.0}));
- assert.writeOK(coll.insert({_id: 10, a: NumberInt("0")}));
- // INT_MIN is -(2 ^ 31)
- assert.writeOK(coll.insert({_id: 11, a: NumberInt(-Math.pow(2, 31))}));
- assert.writeOK(coll.insert({_id: 12, a: -Math.pow(2, 31)}));
- // 1152921504606846977 is 2^60 + 1, an integer that can't be represented precisely as a double
- assert.writeOK(coll.insert({_id: 13, a: NumberLong("1152921504606846977")}));
- assert.writeOK(coll.insert({_id: 14, a: NumberLong("-1152921504606846977")}));
- assert.writeOK(coll.insert({_id: 15, a: null}));
- assert.writeOK(coll.insert({_id: 16, a: undefined}));
- assert.writeOK(coll.insert({_id: 17, a: NaN}));
- assert.writeOK(coll.insert({_id: 18}));
+// valid types (numeric and null)
+assert.writeOK(coll.insert({_id: 0, a: 5}));
+assert.writeOK(coll.insert({_id: 1, a: -5}));
+assert.writeOK(coll.insert({_id: 2, a: 5.5}));
+assert.writeOK(coll.insert({_id: 3, a: -5.5}));
+assert.writeOK(coll.insert({_id: 4, a: NumberInt("5")}));
+assert.writeOK(coll.insert({_id: 5, a: NumberInt("-5")}));
+assert.writeOK(coll.insert({_id: 6, a: NumberLong("5")}));
+assert.writeOK(coll.insert({_id: 7, a: NumberLong("-5")}));
+assert.writeOK(coll.insert({_id: 8, a: 0.0}));
+assert.writeOK(coll.insert({_id: 9, a: -0.0}));
+assert.writeOK(coll.insert({_id: 10, a: NumberInt("0")}));
+// INT_MIN is -(2 ^ 31)
+assert.writeOK(coll.insert({_id: 11, a: NumberInt(-Math.pow(2, 31))}));
+assert.writeOK(coll.insert({_id: 12, a: -Math.pow(2, 31)}));
+// 1152921504606846977 is 2^60 + 1, an integer that can't be represented precisely as a double
+assert.writeOK(coll.insert({_id: 13, a: NumberLong("1152921504606846977")}));
+assert.writeOK(coll.insert({_id: 14, a: NumberLong("-1152921504606846977")}));
+assert.writeOK(coll.insert({_id: 15, a: null}));
+assert.writeOK(coll.insert({_id: 16, a: undefined}));
+assert.writeOK(coll.insert({_id: 17, a: NaN}));
+assert.writeOK(coll.insert({_id: 18}));
- // valid use of $abs: numbers become positive, null/undefined/nonexistent become null
+// valid use of $abs: numbers become positive, null/undefined/nonexistent become null
- var results = coll.aggregate([{$project: {a: {$abs: "$a"}}}, {$sort: {_id: 1}}]).toArray();
- assert.eq(results, [
- {_id: 0, a: 5},
- {_id: 1, a: 5},
- {_id: 2, a: 5.5},
- {_id: 3, a: 5.5},
- {_id: 4, a: 5},
- {_id: 5, a: 5},
- {_id: 6, a: NumberLong("5")},
- {_id: 7, a: NumberLong("5")},
- {_id: 8, a: 0},
- {_id: 9, a: 0},
- {_id: 10, a: 0},
- {_id: 11, a: NumberLong(Math.pow(2, 31))},
- {_id: 12, a: Math.pow(2, 31)},
- {_id: 13, a: NumberLong("1152921504606846977")},
- {_id: 14, a: NumberLong("1152921504606846977")},
- {_id: 15, a: null},
- {_id: 16, a: null},
- {_id: 17, a: NaN},
- {_id: 18, a: null},
- ]);
- // Invalid
+var results = coll.aggregate([{$project: {a: {$abs: "$a"}}}, {$sort: {_id: 1}}]).toArray();
+assert.eq(results, [
+ {_id: 0, a: 5},
+ {_id: 1, a: 5},
+ {_id: 2, a: 5.5},
+ {_id: 3, a: 5.5},
+ {_id: 4, a: 5},
+ {_id: 5, a: 5},
+ {_id: 6, a: NumberLong("5")},
+ {_id: 7, a: NumberLong("5")},
+ {_id: 8, a: 0},
+ {_id: 9, a: 0},
+ {_id: 10, a: 0},
+ {_id: 11, a: NumberLong(Math.pow(2, 31))},
+ {_id: 12, a: Math.pow(2, 31)},
+ {_id: 13, a: NumberLong("1152921504606846977")},
+ {_id: 14, a: NumberLong("1152921504606846977")},
+ {_id: 15, a: null},
+ {_id: 16, a: null},
+ {_id: 17, a: NaN},
+ {_id: 18, a: null},
+]);
+// Invalid
- // using $abs on string
- assertErrorCode(coll, [{$project: {a: {$abs: "string"}}}], 28765);
+// using $abs on string
+assertErrorCode(coll, [{$project: {a: {$abs: "string"}}}], 28765);
- // using $abs on LLONG_MIN (-2 ^ 63)
- assertErrorCode(coll, [{$project: {a: {$abs: NumberLong("-9223372036854775808")}}}], 28680);
+// using $abs on LLONG_MIN (-2 ^ 63)
+assertErrorCode(coll, [{$project: {a: {$abs: NumberLong("-9223372036854775808")}}}], 28680);
}());