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