blob: f9f397ec5c4dab8be07e7e30223ab20cf945f21d [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2014 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5'use strict';
6
7var map = new Map();
8
9var objectKey = {};
10var stringKey = 'keykeykey';
11var numberKey = 42.24;
12var booleanKey = true;
13var undefinedKey = undefined;
14var nullKey = null;
15var nanKey = NaN;
16var zeroKey = 0;
17var minusZeroKey = -0;
18
19assertEquals(map.size, 0);
20
21map.set(objectKey, 'aaa');
22map.set(stringKey, 'bbb');
23map.set(numberKey, 'ccc');
24map.set(booleanKey, 'ddd');
25map.set(undefinedKey, 'eee');
26map.set(nullKey, 'fff');
27map.set(nanKey, 'ggg');
28map.set(zeroKey, 'hhh');
29
30assertEquals(8, map.size);
31
32assertEquals('aaa', map.get(objectKey));
33assertEquals('bbb', map.get(stringKey));
34assertEquals('ccc', map.get(numberKey));
35assertEquals('ddd', map.get(booleanKey));
36assertEquals('eee', map.get(undefinedKey));
37assertEquals('fff', map.get(nullKey));
38assertEquals('ggg', map.get(nanKey));
39assertEquals('hhh', map.get(zeroKey));
40
41assertEquals(undefined, map.get({}));
42assertEquals('bbb', map.get('keykeykey'));
43assertEquals('ccc', map.get(42.24));
44assertEquals('ddd', map.get(true));
45assertEquals('eee', map.get(undefined));
46assertEquals('fff', map.get(null));
47assertEquals('ggg', map.get(NaN));
48assertEquals('hhh', map.get(0));
49assertEquals('hhh', map.get(-0));
50assertEquals('hhh', map.get(1 / Infinity));
51assertEquals('hhh', map.get(-1 / Infinity));