mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-26 01:20:25 +00:00
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
describe("correct behavior", () => {
|
|
test("basic functionality", () => {
|
|
let n = 0;
|
|
expect(++n).toBe(1);
|
|
expect(n).toBe(1);
|
|
|
|
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;
|
|
}).toThrowWithMessage(ReferenceError, "'x' is not defined");
|
|
});
|
|
});
|