|
1 // -0 is treated as the same key as +0. |
|
2 |
|
3 var s = new Set; |
|
4 s.add(-0); |
|
5 assertEq(s.has(0), true); |
|
6 assertEq(s.has(-0), true); |
|
7 |
|
8 assertEq(s.delete(0), true); |
|
9 assertEq(s.has(-0), false); |
|
10 assertEq(s.has(0), false); |
|
11 |
|
12 s.add(0); |
|
13 assertEq(s.has(0), true); |
|
14 assertEq(s.has(-0), true); |
|
15 assertEq(s.delete(-0), true); |
|
16 assertEq(s.has(-0), false); |
|
17 assertEq(s.has(0), false); |
|
18 |
|
19 var m = new Map; |
|
20 m.set(-0, 'x'); |
|
21 assertEq(m.has(0), true); |
|
22 assertEq(m.get(0), 'x'); |
|
23 assertEq(m.has(-0), true); |
|
24 assertEq(m.get(-0), 'x'); |
|
25 |
|
26 assertEq(m.delete(0), true); |
|
27 assertEq(m.has(-0), false); |
|
28 assertEq(m.get(-0), undefined); |
|
29 assertEq(m.has(0), false); |
|
30 assertEq(m.get(0), undefined); |
|
31 |
|
32 m.set(-0, 'x'); |
|
33 m.set(0, 'y'); |
|
34 assertEq(m.has(0), true); |
|
35 assertEq(m.get(0), 'y'); |
|
36 assertEq(m.has(-0), true); |
|
37 assertEq(m.get(-0), 'y'); |
|
38 |
|
39 assertEq(m.delete(-0), true); |
|
40 assertEq(m.has(0), false); |
|
41 assertEq(m.get(0), undefined); |
|
42 assertEq(m.has(-0), false); |
|
43 assertEq(m.get(-0), undefined); |