48 lines
806 B
JavaScript
48 lines
806 B
JavaScript
test("basic functionality", () => {
|
|
var called = false;
|
|
class A {
|
|
static {
|
|
expect(called).toBeFalse();
|
|
expect(this.name).toBe("A");
|
|
called = true;
|
|
}
|
|
}
|
|
|
|
expect(called).toBeTrue();
|
|
new A();
|
|
expect(called).toBeTrue();
|
|
});
|
|
|
|
test("called in order", () => {
|
|
var i = 0;
|
|
class A {
|
|
static {
|
|
expect(i).toBe(0);
|
|
i++;
|
|
}
|
|
|
|
static method() {
|
|
return 2;
|
|
}
|
|
|
|
static {
|
|
expect(i).toBe(1);
|
|
i++;
|
|
}
|
|
}
|
|
|
|
expect(i).toBe(2);
|
|
new A();
|
|
expect(i).toBe(2);
|
|
});
|
|
|
|
test("correct this", () => {
|
|
var thisValue = null;
|
|
class A {
|
|
static {
|
|
thisValue = this;
|
|
}
|
|
}
|
|
|
|
expect(thisValue).toBe(A);
|
|
});
|