diff options
author | Andy Schwerin <schwerin@mongodb.com> | 2016-08-11 16:21:06 -0400 |
---|---|---|
committer | Andy Schwerin <schwerin@mongodb.com> | 2016-08-17 16:07:24 -0400 |
commit | 03e45d0dd7292153e51fcd98ad3f3f57ceb8a0b4 (patch) | |
tree | ea6778a966218bc999051c54d32504890c8ef920 /jstests | |
parent | a628a9cf2dc263751faaf34be4c43e0a203f1243 (diff) | |
download | mongo-03e45d0dd7292153e51fcd98ad3f3f57ceb8a0b4.tar.gz |
SERVER-25574 Remove jstests/core/hashtest1.js which is replaced by src/mongo/db/hasher_test.cpp
Diffstat (limited to 'jstests')
-rw-r--r-- | jstests/core/hashtest1.js | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/jstests/core/hashtest1.js b/jstests/core/hashtest1.js deleted file mode 100644 index 631aee522da..00000000000 --- a/jstests/core/hashtest1.js +++ /dev/null @@ -1,80 +0,0 @@ -// hashtest1.js -// Simple tests to check hashing of various types -// make sure that different numeric types hash to same thing, and other sanity checks - -var hash = function(v, seed) { - if (seed) - return db.runCommand({"_hashBSONElement": v, "seed": seed})["out"]; - else - return db.runCommand({"_hashBSONElement": v})["out"]; -}; - -var oidHash = hash(ObjectId()); -var oidHash2 = hash(ObjectId()); -var oidHash3 = hash(ObjectId()); -assert(!friendlyEqual(oidHash, oidHash2), "ObjectIDs should hash to different things"); -assert(!friendlyEqual(oidHash, oidHash3), "ObjectIDs should hash to different things"); -assert(!friendlyEqual(oidHash2, oidHash3), "ObjectIDs should hash to different things"); - -var intHash = hash(NumberInt(3)); -var doubHash = hash(3); -var doubHash2 = hash(3.0); -var longHash = hash(NumberLong(3)); -var fracHash = hash(NumberInt(3.5)); -assert.eq(intHash, doubHash); -assert.eq(intHash, doubHash2); -assert.eq(intHash, longHash); -assert.eq(intHash, fracHash); - -var trueHash = hash(true); -var falseHash = hash(false); -assert(!friendlyEqual(trueHash, falseHash), "true and false should hash to different things"); - -var nullHash = hash(null); -assert(!friendlyEqual(falseHash, nullHash), "false and null should hash to different things"); - -var dateHash = hash(new Date()); -// Sleep so we get a new date. Sleeping for 1 sometimes returns the same date, so 2 -sleep(2); -var isodateHash = hash(ISODate()); -assert(!friendlyEqual(dateHash, isodateHash), "different dates should hash to different things"); - -var stringHash = hash("3"); -assert(!friendlyEqual(intHash, stringHash), "3 and \"3\" should hash to different things"); - -var regExpHash = hash(RegExp("3")); -assert(!friendlyEqual(stringHash, regExpHash), - "\"3\" and RegExp(3) should hash to different things"); - -var intHash4 = hash(4); -assert(!friendlyEqual(intHash, intHash4), "3 and 4 should hash to different things"); - -var intHashSeeded = hash(4, 3); -assert(!friendlyEqual(intHash4, intHashSeeded), "different seeds should make different hashes"); - -var minkeyHash = hash(MinKey); -var maxkeyHash = hash(MaxKey); -assert(!friendlyEqual(minkeyHash, maxkeyHash), "minkey and maxkey should hash to different things"); - -var arrayHash = hash([0, 1.0, NumberLong(2)]); -var arrayHash2 = hash([0, NumberInt(1), 2]); -assert.eq(arrayHash, arrayHash2, "didn't squash numeric types in array"); - -var objectHash = hash({"0": 0, "1": NumberInt(1), "2": 2}); -assert(!friendlyEqual(objectHash, arrayHash2), - "arrays and sub-objects should hash to different things"); - -var c = hash({a: {}, b: 1}); -var d = hash({a: {b: 1}}); -assert(!friendlyEqual(c, d), "hashing doesn't group sub-docs and fields correctly"); - -var e = hash({a: 3, b: [NumberLong(3), {c: NumberInt(3)}]}); -var f = hash({a: NumberLong(3), b: [NumberInt(3), {c: 3.0}]}); -assert.eq(e, f, "recursive number squashing doesn't work"); - -var nanHash = hash(0 / 0); -var zeroHash = hash(0); -assert.eq(nanHash, zeroHash, "NaN and Zero should hash to the same thing"); - -// should also test that CodeWScope hashes correctly -// but waiting for SERVER-3391 (CodeWScope support in shell) |