52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
|
// 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));
|