blob: f9f397ec5c4dab8be07e7e30223ab20cf945f21d [file] [log] [blame]
// 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));