mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:48:12 +00:00
LibJS: Convert all remaining non-Array tests to the new system :)
This commit is contained in:
parent
918f4affd5
commit
15de2eda2b
72 changed files with 2394 additions and 1998 deletions
72
Libraries/LibJS/Tests/classes/class-static.js
Normal file
72
Libraries/LibJS/Tests/classes/class-static.js
Normal file
|
@ -0,0 +1,72 @@
|
|||
test("basic functionality", () => {
|
||||
class A {
|
||||
static method() {
|
||||
return 10;
|
||||
}
|
||||
}
|
||||
|
||||
expect(A.method()).toBe(10);
|
||||
expect(new A().method).toBeUndefined();
|
||||
});
|
||||
|
||||
test("extended name syntax", () => {
|
||||
class A {
|
||||
static method() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static 12() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
static [`he${"llo"}`]() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
expect(A.method()).toBe(1);
|
||||
expect(A[12]()).toBe(2);
|
||||
expect(A.hello()).toBe(3);
|
||||
});
|
||||
|
||||
test("bound |this|", () => {
|
||||
class A {
|
||||
static method() {
|
||||
expect(this).toBe(A);
|
||||
}
|
||||
}
|
||||
|
||||
A.method();
|
||||
});
|
||||
|
||||
test("inherited static methods", () => {
|
||||
class Parent {
|
||||
static method() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
class Child extends Parent {}
|
||||
|
||||
expect(Parent.method()).toBe(3);
|
||||
expect(Child.method()).toBe(3);
|
||||
expect(new Parent()).not.toHaveProperty("method");
|
||||
expect(new Child()).not.toHaveProperty("method");
|
||||
});
|
||||
|
||||
test("static method overriding", () => {
|
||||
class Parent {
|
||||
static method() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
class Child extends Parent {
|
||||
static method() {
|
||||
return 10;
|
||||
}
|
||||
}
|
||||
|
||||
expect(Parent.method()).toBe(3);
|
||||
expect(Child.method()).toBe(10);
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue