ladybird/Libraries/LibJS/Tests/loops/for-of-basic.js
2020-07-06 23:40:35 +02:00

60 lines
952 B
JavaScript

load("test-common.js");
try {
assertThrowsError(
() => {
for (const _ of 123) {
}
},
{
error: TypeError,
message: "for..of right-hand side must be iterable",
}
);
assertThrowsError(
() => {
for (const _ of { foo: 1, bar: 2 }) {
}
},
{
error: TypeError,
message: "for..of right-hand side must be iterable",
}
);
assertVisitsAll(
visit => {
for (const num of [1, 2, 3]) {
visit(num);
}
},
[1, 2, 3]
);
assertVisitsAll(
visit => {
for (const char of "hello") {
visit(char);
}
},
["h", "e", "l", "l", "o"]
);
assertVisitsAll(
visit => {
for (const char of new String("hello")) {
visit(char);
}
},
["h", "e", "l", "l", "o"]
);
var char;
for (char of "abc");
assert(char === "c");
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}