v8/test/mjsunit/es6/set-minus-zero.js
arv 925364f5b4 Fix issue with -0 in Maps
Because we generated a different hash code for 0 and -0 we ended up
not even getting to the SameValueZero check.

BUG=v8:3906
LOG=N
R=adamk

Review URL: https://codereview.chromium.org/947443005

Cr-Commit-Position: refs/heads/master@{#26787}
2015-02-20 21:02:55 +00:00

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));