1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:08:11 +00:00

LibJS: Convert remaining top-level tests to new system

This commit is contained in:
Matthew Olsson 2020-07-05 10:47:40 -07:00 committed by Andreas Kling
parent 6d58c48c2f
commit 918f4affd5
19 changed files with 518 additions and 497 deletions

View file

@ -1,57 +1,53 @@
load("test-common.js");
describe("correct behavior", () => {
test("basic functionality", () => {
let n = 0;
expect(++n).toBe(1);
expect(n).toBe(1);
try {
assertThrowsError(
() => {
n = 0;
expect(n++).toBe(0);
expect(n).toBe(1);
n = 0;
expect(--n).toBe(-1);
expect(n).toBe(-1);
n = 0;
expect(n--).toBe(0);
expect(n).toBe(-1);
let a = [];
expect(a++).toBe(0);
expect(a).toBe(1);
let b = true;
expect(b--).toBe(1);
expect(b).toBe(0);
});
test("updates that produce NaN", () => {
let s = "foo";
expect(++s).toBeNaN();
expect(s).toBeNaN();
s = "foo";
expect(s++).toBeNaN();
expect(s).toBeNaN();
s = "foo";
expect(--s).toBeNaN();
expect(s).toBeNaN();
s = "foo";
expect(s--).toBeNaN();
expect(s).toBeNaN();
});
});
describe("errors", () => {
test("update expression throws reference error", () => {
expect(() => {
++x;
},
{
error: ReferenceError,
message: "'x' is not defined",
}
);
var n = 0;
assert(++n === 1);
assert(n === 1);
var n = 0;
assert(n++ === 0);
assert(n === 1);
var n = 0;
assert(--n === -1);
assert(n === -1);
var n = 0;
assert(n-- === 0);
assert(n === -1);
var a = [];
assert(a++ === 0);
assert(a === 1);
var b = true;
assert(b-- === 1);
assert(b === 0);
var s = "foo";
assert(isNaN(++s));
assert(isNaN(s));
var s = "foo";
assert(isNaN(s++));
assert(isNaN(s));
var s = "foo";
assert(isNaN(--s));
assert(isNaN(s));
var s = "foo";
assert(isNaN(s--));
assert(isNaN(s));
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}
}).toThrowWithMessage(ReferenceError, "'x' is not defined");
});
});