deps: update v8 to 4.3.61.21
[platform/upstream/nodejs.git] / deps / v8 / test / mjsunit / es6 / set-minus-zero.js
1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 'use strict';
6
7 var set = new Set();
8
9 var objectKey = {};
10 var stringKey = 'keykeykey';
11 var numberKey = 42.24;
12 var booleanKey = true;
13 var undefinedKey = undefined;
14 var nullKey = null;
15 var nanKey = NaN;
16 var zeroKey = 0;
17 var minusZeroKey = -0;
18
19 assertEquals(set.size, 0);
20
21 set.add(objectKey);
22 set.add(stringKey);
23 set.add(numberKey);
24 set.add(booleanKey);
25 set.add(undefinedKey);
26 set.add(nullKey);
27 set.add(nanKey);
28 set.add(zeroKey);
29
30 assertEquals(8, set.size);
31
32 assertTrue(set.has(objectKey));
33 assertTrue(set.has(stringKey));
34 assertTrue(set.has(numberKey));
35 assertTrue(set.has(booleanKey));
36 assertTrue(set.has(undefinedKey));
37 assertTrue(set.has(nullKey));
38 assertTrue(set.has(nanKey));
39 assertTrue(set.has(zeroKey));
40
41 assertFalse(set.has({}));
42 assertTrue(set.has('keykeykey'));
43 assertTrue(set.has(42.24));
44 assertTrue(set.has(true));
45 assertTrue(set.has(undefined));
46 assertTrue(set.has(null));
47 assertTrue(set.has(NaN));
48 assertTrue(set.has(0));
49 assertTrue(set.has(-0));
50 assertTrue(set.has(1 / Infinity));
51 assertTrue(set.has(-1 / Infinity));