Index: test/mjsunit/es6/set-minus-zero.js |
diff --git a/test/mjsunit/es6/set-minus-zero.js b/test/mjsunit/es6/set-minus-zero.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..792332c6487d41190effc307cd675127142b6c4d |
--- /dev/null |
+++ b/test/mjsunit/es6/set-minus-zero.js |
@@ -0,0 +1,51 @@ |
+// Copyright 2015 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 set = new Set(); |
+ |
+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(set.size, 0); |
+ |
+set.add(objectKey); |
+set.add(stringKey); |
+set.add(numberKey); |
+set.add(booleanKey); |
+set.add(undefinedKey); |
+set.add(nullKey); |
+set.add(nanKey); |
+set.add(zeroKey); |
+ |
+assertEquals(8, set.size); |
+ |
+assertTrue(set.has(objectKey)); |
+assertTrue(set.has(stringKey)); |
+assertTrue(set.has(numberKey)); |
+assertTrue(set.has(booleanKey)); |
+assertTrue(set.has(undefinedKey)); |
+assertTrue(set.has(nullKey)); |
+assertTrue(set.has(nanKey)); |
+assertTrue(set.has(zeroKey)); |
+ |
+assertFalse(set.has({})); |
+assertTrue(set.has('keykeykey')); |
+assertTrue(set.has(42.24)); |
+assertTrue(set.has(true)); |
+assertTrue(set.has(undefined)); |
+assertTrue(set.has(null)); |
+assertTrue(set.has(NaN)); |
+assertTrue(set.has(0)); |
+assertTrue(set.has(-0)); |
+assertTrue(set.has(1 / Infinity)); |
+assertTrue(set.has(-1 / Infinity)); |