mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 12:47:45 +00:00
LibJS: Reorganize tests into subfolders
This commit is contained in:
parent
21064a1883
commit
4c48c9d69d
213 changed files with 10 additions and 2 deletions
14
Libraries/LibJS/Tests/loops/continue-basic.js
Normal file
14
Libraries/LibJS/Tests/loops/continue-basic.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
var j = 0;
|
||||
for (var i = 0; i < 9; ++i) {
|
||||
if (i == 3)
|
||||
continue;
|
||||
++j;
|
||||
}
|
||||
assert(j == 8);
|
||||
console.log("PASS");
|
||||
} catch {
|
||||
}
|
||||
|
17
Libraries/LibJS/Tests/loops/do-while-basic.js
Normal file
17
Libraries/LibJS/Tests/loops/do-while-basic.js
Normal file
|
@ -0,0 +1,17 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
var number = 0;
|
||||
do {
|
||||
number++;
|
||||
} while (number < 9);
|
||||
assert(number === 9);
|
||||
|
||||
number = 0;
|
||||
do number++; while(number < 3);
|
||||
assert(number === 3);
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
24
Libraries/LibJS/Tests/loops/for-basic.js
Normal file
24
Libraries/LibJS/Tests/loops/for-basic.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
var a = [];
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
a.push(i);
|
||||
}
|
||||
assert(a.length === 3);
|
||||
assert(a[0] === 0);
|
||||
assert(a[1] === 1);
|
||||
assert(a[2] === 2);
|
||||
|
||||
for (; a.length < 6;) {
|
||||
a.push('x');
|
||||
}
|
||||
assert(a.length === 6);
|
||||
assert(a[3] === 'x');
|
||||
assert(a[4] === 'x');
|
||||
assert(a[5] === 'x');
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
36
Libraries/LibJS/Tests/loops/for-head-errors.js
Normal file
36
Libraries/LibJS/Tests/loops/for-head-errors.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
assertThrowsError(() => {
|
||||
for (var i = foo; i < 100; ++i) {
|
||||
assertNotReached();
|
||||
}
|
||||
}, {
|
||||
error: ReferenceError,
|
||||
message: "'foo' is not defined"
|
||||
});
|
||||
|
||||
assertThrowsError(() => {
|
||||
for (var i = 0; i < foo; ++i) {
|
||||
assertNotReached();
|
||||
}
|
||||
}, {
|
||||
error: ReferenceError,
|
||||
message: "'foo' is not defined"
|
||||
});
|
||||
|
||||
var loopCount = 0;
|
||||
assertThrowsError(() => {
|
||||
for (var i = 0; i < 100; ++foo) {
|
||||
loopCount++;
|
||||
}
|
||||
}, {
|
||||
error: ReferenceError,
|
||||
message: "'foo' is not defined"
|
||||
});
|
||||
assert(loopCount === 1);
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
41
Libraries/LibJS/Tests/loops/for-in-basic.js
Normal file
41
Libraries/LibJS/Tests/loops/for-in-basic.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
assertVisitsAll(visit => {
|
||||
for (const property in "") {
|
||||
visit(property);
|
||||
}
|
||||
}, []);
|
||||
|
||||
assertVisitsAll(visit => {
|
||||
for (const property in 123) {
|
||||
visit(property);
|
||||
}
|
||||
}, []);
|
||||
|
||||
assertVisitsAll(visit => {
|
||||
for (const property in {}) {
|
||||
visit(property);
|
||||
}
|
||||
}, []);
|
||||
|
||||
assertVisitsAll(visit => {
|
||||
for (const property in "hello") {
|
||||
visit(property);
|
||||
}
|
||||
}, ["0", "1", "2", "3", "4"]);
|
||||
|
||||
assertVisitsAll(visit => {
|
||||
for (const property in {a: 1, b: 2, c: 2}) {
|
||||
visit(property);
|
||||
}
|
||||
}, ["a", "b", "c"]);
|
||||
|
||||
var property;
|
||||
for (property in "abc");
|
||||
assert(property === "2");
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
14
Libraries/LibJS/Tests/loops/for-no-curlies.js
Normal file
14
Libraries/LibJS/Tests/loops/for-no-curlies.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
var number = 0;
|
||||
|
||||
for (var i = 0; i < 3; ++i)
|
||||
for (var j = 0; j < 3; ++j)
|
||||
number++;
|
||||
|
||||
assert(number === 9);
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
43
Libraries/LibJS/Tests/loops/for-of-basic.js
Normal file
43
Libraries/LibJS/Tests/loops/for-of-basic.js
Normal file
|
@ -0,0 +1,43 @@
|
|||
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);
|
||||
}
|
22
Libraries/LibJS/Tests/loops/for-scopes.js
Normal file
22
Libraries/LibJS/Tests/loops/for-scopes.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
for (var v = 5; false; );
|
||||
assert(v == 5);
|
||||
|
||||
const options = {error: ReferenceError};
|
||||
|
||||
assertThrowsError(() => {
|
||||
for (let l = 5; false; );
|
||||
l;
|
||||
}, options);
|
||||
|
||||
assertThrowsError(() => {
|
||||
for (const c = 5; false; );
|
||||
c;
|
||||
}, options)
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
21
Libraries/LibJS/Tests/loops/while-basic.js
Normal file
21
Libraries/LibJS/Tests/loops/while-basic.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
var number = 0;
|
||||
while (number < 9) {
|
||||
number++;
|
||||
}
|
||||
assert(number === 9);
|
||||
|
||||
number = 0;
|
||||
while(number < 3) number++;
|
||||
assert(number === 3);
|
||||
|
||||
while (false) {
|
||||
assertNotReached();
|
||||
}
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue