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 7var set = new Set(); 8 9var objectKey = {}; 10var stringKey = 'keykeykey'; 11var numberKey = 42.24; 12var booleanKey = true; 13var undefinedKey = undefined; 14var nullKey = null; 15var nanKey = NaN; 16var zeroKey = 0; 17var minusZeroKey = -0; 18 19assertEquals(set.size, 0); 20 21set.add(objectKey); 22set.add(stringKey); 23set.add(numberKey); 24set.add(booleanKey); 25set.add(undefinedKey); 26set.add(nullKey); 27set.add(nanKey); 28set.add(zeroKey); 29 30assertEquals(8, set.size); 31 32assertTrue(set.has(objectKey)); 33assertTrue(set.has(stringKey)); 34assertTrue(set.has(numberKey)); 35assertTrue(set.has(booleanKey)); 36assertTrue(set.has(undefinedKey)); 37assertTrue(set.has(nullKey)); 38assertTrue(set.has(nanKey)); 39assertTrue(set.has(zeroKey)); 40 41assertFalse(set.has({})); 42assertTrue(set.has('keykeykey')); 43assertTrue(set.has(42.24)); 44assertTrue(set.has(true)); 45assertTrue(set.has(undefined)); 46assertTrue(set.has(null)); 47assertTrue(set.has(NaN)); 48assertTrue(set.has(0)); 49assertTrue(set.has(-0)); 50assertTrue(set.has(1 / Infinity)); 51assertTrue(set.has(-1 / Infinity)); 52