Index: test/mjsunit/es6/map-minus-zero.js |
diff --git a/test/mjsunit/es6/map-minus-zero.js b/test/mjsunit/es6/map-minus-zero.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f9f397ec5c4dab8be07e7e30223ab20cf945f21d |
--- /dev/null |
+++ b/test/mjsunit/es6/map-minus-zero.js |
@@ -0,0 +1,51 @@ |
+// Copyright 2014 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+'use strict'; |
+ |
+var map = new Map(); |
+ |
+var objectKey = {}; |
+var stringKey = 'keykeykey'; |
+var numberKey = 42.24; |
+var booleanKey = true; |
+var undefinedKey = undefined; |
+var nullKey = null; |
+var nanKey = NaN; |
+var zeroKey = 0; |
+var minusZeroKey = -0; |
+ |
+assertEquals(map.size, 0); |
+ |
+map.set(objectKey, 'aaa'); |
+map.set(stringKey, 'bbb'); |
+map.set(numberKey, 'ccc'); |
+map.set(booleanKey, 'ddd'); |
+map.set(undefinedKey, 'eee'); |
+map.set(nullKey, 'fff'); |
+map.set(nanKey, 'ggg'); |
+map.set(zeroKey, 'hhh'); |
+ |
+assertEquals(8, map.size); |
+ |
+assertEquals('aaa', map.get(objectKey)); |
+assertEquals('bbb', map.get(stringKey)); |
+assertEquals('ccc', map.get(numberKey)); |
+assertEquals('ddd', map.get(booleanKey)); |
+assertEquals('eee', map.get(undefinedKey)); |
+assertEquals('fff', map.get(nullKey)); |
+assertEquals('ggg', map.get(nanKey)); |
+assertEquals('hhh', map.get(zeroKey)); |
+ |
+assertEquals(undefined, map.get({})); |
+assertEquals('bbb', map.get('keykeykey')); |
+assertEquals('ccc', map.get(42.24)); |
+assertEquals('ddd', map.get(true)); |
+assertEquals('eee', map.get(undefined)); |
+assertEquals('fff', map.get(null)); |
+assertEquals('ggg', map.get(NaN)); |
+assertEquals('hhh', map.get(0)); |
+assertEquals('hhh', map.get(-0)); |
+assertEquals('hhh', map.get(1 / Infinity)); |
+assertEquals('hhh', map.get(-1 / Infinity)); |