]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/stress/map-iterators-next.js
1 // This test checks the behavior of the iterator.next methods on Map objects
3 var testArray
= [1,2,3,4,5,6]
4 var testMap
= new Map();
5 for (var [key
, value
] of testArray
.entries()) {
6 testMap
.set(key
, value
);
8 var keys
= testMap
.keys();
11 var {done
, value: key
} = keys
.next();
14 if (key
>= testArray
.length
)
15 throw "Error: bad value: " + key
;
19 if (testMap
.size
!== i
)
20 throw "Error: bad value: " + i
;
22 var value
= keys
.next().value
;
23 if (value
!== undefined)
24 throw "Error: bad value: " + value
;
26 var values
= testMap
.values();
29 var {done
, value
} = values
.next();
33 if (testArray
.indexOf(value
) === -1)
34 throw "Error: bad value: " + value
;
37 if (testMap
.size
!== i
)
38 throw "Error: bad value: " + i
;
40 var value
= values
.next().value
;
41 if (value
!== undefined)
42 throw "Error: bad value: " + value
;
44 var entries
= testMap
.entries();
47 var {done
, value: entry
} = entries
.next();
50 var [key
, value
] = entry
;
51 if (value
!== testMap
.get(key
))
52 throw "Error: bad value: " + value
+ " " + testMap
.get(key
);
53 if (key
>= testArray
.length
)
54 throw "Error: bad value: " + key
;
56 if (testArray
.indexOf(value
) === -1)
57 throw "Error: bad value: " + value
+ " " + i
;
60 if (testMap
.size
!== i
)
61 throw "Error: bad value: " + i
;
63 var value
= entries
.next().value
;
64 if (value
!== undefined)
65 throw "Error: bad value: " + value
;
67 var entries
= testMap
.entries();
70 var {done
, value: entry
} = entries
.next();
73 var [key
, value
] = entry
;
74 if (value
!== testMap
.get(key
))
75 throw "Error: bad value: " + value
+ " " + testMap
.get(key
);
78 testMap
.set(100000 + i
, i
);
81 if (testMap
.size
!== i
)
82 throw "Error: bad value: " + i
;
84 var value
= entries
.next().value
;
85 if (value
!== undefined)
86 throw "Error: bad value: " + value
;
88 function otherKey(key
) {
89 return (key
+ 1) % testArray
.length
;
92 var entries
= testMap
.entries();
95 var {done
, value: entry
} = entries
.next();
98 var [key
, value
] = entry
;
99 if (value
!== testMap
.get(key
))
100 throw "Error: bad value: " + value
+ " " + testMap
.get(key
);
103 testMap
.delete(otherKey(key
));
106 if (testMap
.size
!== i
)
107 throw "Error: bad value: " + i
;
109 var value
= entries
.next().value
;
110 if (value
!== undefined)
111 throw "Error: bad value: " + value
;