mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:08:12 +00:00
LibJS: Convert most builtin tests to new system
This commit is contained in:
parent
46581773c1
commit
3f97d75778
107 changed files with 2031 additions and 2243 deletions
|
@ -1,51 +1,49 @@
|
|||
load("test-common.js");
|
||||
test("plain property", () => {
|
||||
let o = { foo: "bar" };
|
||||
|
||||
try {
|
||||
let o = {
|
||||
foo: "bar",
|
||||
get x() { },
|
||||
set ["hi" + 1](_) { },
|
||||
};
|
||||
expect(o).toHaveConfigurableProperty("foo");
|
||||
expect(o).toHaveEnumerableProperty("foo");
|
||||
expect(o).toHaveWritableProperty("foo");
|
||||
expect(o).toHaveValueProperty("foo", "bar");
|
||||
expect(o).not.toHaveGetterProperty("foo");
|
||||
expect(o).not.toHaveSetterProperty("foo");
|
||||
});
|
||||
|
||||
Object.defineProperty(o, "baz", {
|
||||
test("getter property", () => {
|
||||
let o = { get foo() {} };
|
||||
|
||||
expect(o).toHaveConfigurableProperty("foo");
|
||||
expect(o).toHaveEnumerableProperty("foo");
|
||||
expect(o).not.toHaveWritableProperty("foo");
|
||||
expect(o).not.toHaveValueProperty("foo");
|
||||
expect(o).toHaveGetterProperty("foo");
|
||||
expect(o).not.toHaveSetterProperty("foo");
|
||||
});
|
||||
|
||||
test("setter property", () => {
|
||||
let o = { set foo(_) {} };
|
||||
|
||||
expect(o).toHaveConfigurableProperty("foo");
|
||||
expect(o).toHaveEnumerableProperty("foo");
|
||||
expect(o).not.toHaveWritableProperty("foo");
|
||||
expect(o).not.toHaveValueProperty("foo");
|
||||
expect(o).not.toHaveGetterProperty("foo");
|
||||
expect(o).toHaveSetterProperty("foo");
|
||||
});
|
||||
|
||||
test("defined property", () => {
|
||||
let o = {};
|
||||
|
||||
Object.defineProperty(o, "foo", {
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
value: 10,
|
||||
});
|
||||
|
||||
let d = Object.getOwnPropertyDescriptor(o, "foo");
|
||||
assert(d.enumerable === true);
|
||||
assert(d.configurable === true);
|
||||
assert(d.writable === true);
|
||||
assert(d.value === "bar");
|
||||
assert(d.get === undefined);
|
||||
assert(d.set === undefined);
|
||||
|
||||
let d = Object.getOwnPropertyDescriptor(o, "x");
|
||||
assert(d.enumerable === true);
|
||||
assert(d.configurable === true);
|
||||
assert(d.writable === undefined);
|
||||
assert(d.value === undefined);
|
||||
assert(typeof d.get === "function");
|
||||
assert(d.set === undefined);
|
||||
|
||||
let d = Object.getOwnPropertyDescriptor(o, "hi1");
|
||||
assert(d.enumerable === true);
|
||||
assert(d.configurable === true);
|
||||
assert(d.writable === undefined);
|
||||
assert(d.value === undefined);
|
||||
assert(d.get === undefined);
|
||||
assert(typeof d.set === "function");
|
||||
|
||||
let d = Object.getOwnPropertyDescriptor(o, "baz");
|
||||
assert(d.enumerable === false);
|
||||
assert(d.configurable === false);
|
||||
assert(d.writable === true);
|
||||
assert(d.value === 10);
|
||||
assert(d.get === undefined);
|
||||
assert(d.set === undefined);
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
||||
expect(o).not.toHaveConfigurableProperty("foo");
|
||||
expect(o).not.toHaveEnumerableProperty("foo");
|
||||
expect(o).toHaveWritableProperty("foo");
|
||||
expect(o).toHaveValueProperty("foo", 10);
|
||||
expect(o).not.toHaveGetterProperty("foo");
|
||||
expect(o).not.toHaveSetterProperty("foo");
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue