]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/stress/set-iterators-next.js
1 // This test checks the behavior of the iterator.next methods on Set objects
3 var testArray
= [1,2,3,4,5,6]
4 var testSet
= new Set();
5 for (var [key
, value
] of testArray
.entries()) {
8 var keys
= testSet
.keys();
11 var {done
, value: key
} = keys
.next();
14 if (testArray
.indexOf(key
) === -1)
15 throw "Error: bad value: " + key
;
19 if (testSet
.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
= testSet
.values();
29 var {done
, value
} = values
.next();
33 if (testArray
.indexOf(value
) === -1)
34 throw "Error: bad value: " + value
;
37 if (testSet
.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
= testSet
.entries();
47 var {done
, value: entry
} = entries
.next();
50 var [key
, value
] = entry
;
52 throw "Error: bad value: " + key
+ " " + value
;
53 if (!testSet
.has(value
))
54 throw "Error: bad value: " + value
;
55 if (!testSet
.has(key
))
56 throw "Error: bad value: " + key
;
58 if (testArray
.indexOf(value
) === -1)
59 throw "Error: bad value: " + value
+ " " + i
;
62 if (testSet
.size
!== i
)
63 throw "Error: bad value: " + i
;
65 var value
= entries
.next().value
;
66 if (value
!== undefined)
67 throw "Error: bad value: " + value
;
69 var entries
= testSet
.entries();
72 var {done
, value: entry
} = entries
.next();
75 var [key
, value
] = entry
;
77 throw "Error: bad value: " + key
+ " " + value
;
78 if (!testSet
.has(key
))
79 throw "Error: bad value: " + value
;
82 testSet
.add(100000 + i
);
85 if (testSet
.size
!== i
)
86 throw "Error: bad value: " + i
;
88 var value
= entries
.next().value
;
89 if (value
!== undefined)
90 throw "Error: bad value: " + value
;
92 function otherKey(key
) {
93 return (key
+ 1) % testArray
.length
;
96 var entries
= testSet
.entries();
99 var {done
, value: entry
} = entries
.next();
102 var [key
, value
] = entry
;
103 if (!testSet
.has(key
))
104 throw "Error: bad value: " + value
+ " " + testSet
.get(key
);
107 testSet
.delete(otherKey(key
));
110 if (testSet
.size
!== i
)
111 throw "Error: bad value: " + i
;
113 var value
= entries
.next().value
;
114 if (value
!== undefined)
115 throw "Error: bad value: " + value
;