925364f5b4
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}
52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
// Copyright 2014 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 map = new Map();
|
|
|
|
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(map.size, 0);
|
|
|
|
map.set(objectKey, 'aaa');
|
|
map.set(stringKey, 'bbb');
|
|
map.set(numberKey, 'ccc');
|
|
map.set(booleanKey, 'ddd');
|
|
map.set(undefinedKey, 'eee');
|
|
map.set(nullKey, 'fff');
|
|
map.set(nanKey, 'ggg');
|
|
map.set(zeroKey, 'hhh');
|
|
|
|
assertEquals(8, map.size);
|
|
|
|
assertEquals('aaa', map.get(objectKey));
|
|
assertEquals('bbb', map.get(stringKey));
|
|
assertEquals('ccc', map.get(numberKey));
|
|
assertEquals('ddd', map.get(booleanKey));
|
|
assertEquals('eee', map.get(undefinedKey));
|
|
assertEquals('fff', map.get(nullKey));
|
|
assertEquals('ggg', map.get(nanKey));
|
|
assertEquals('hhh', map.get(zeroKey));
|
|
|
|
assertEquals(undefined, map.get({}));
|
|
assertEquals('bbb', map.get('keykeykey'));
|
|
assertEquals('ccc', map.get(42.24));
|
|
assertEquals('ddd', map.get(true));
|
|
assertEquals('eee', map.get(undefined));
|
|
assertEquals('fff', map.get(null));
|
|
assertEquals('ggg', map.get(NaN));
|
|
assertEquals('hhh', map.get(0));
|
|
assertEquals('hhh', map.get(-0));
|
|
assertEquals('hhh', map.get(1 / Infinity));
|
|
assertEquals('hhh', map.get(-1 / Infinity));
|