diff options
author | 2023-01-20 03:25:21 -0800 | |
---|---|---|
committer | 2023-01-20 03:25:21 -0800 | |
commit | 42e9f6e0b1c10b55813f1a30f3af4f811c42d35e (patch) | |
tree | f0cb9a74036f83f7fa26cf6bb936b2d25d232ee4 /test/bun.js | |
parent | e3ed905b0a6d9658b033ec978a1f3445bc180a74 (diff) | |
download | bun-42e9f6e0b1c10b55813f1a30f3af4f811c42d35e.tar.gz bun-42e9f6e0b1c10b55813f1a30f3af4f811c42d35e.tar.zst bun-42e9f6e0b1c10b55813f1a30f3af4f811c42d35e.zip |
push super before generated statements (#1856)
Diffstat (limited to '')
-rw-r--r-- | test/bun.js/decorators.test.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/bun.js/decorators.test.ts b/test/bun.js/decorators.test.ts index 554904107..7342380ae 100644 --- a/test/bun.js/decorators.test.ts +++ b/test/bun.js/decorators.test.ts @@ -786,3 +786,33 @@ test("no decorators", () => { expect(a).toBe(1); expect(aa.b).toBe(300000); }); + +test("class constructor parameter properties", () => { + class A { + constructor(readonly d: string = "default") { + expect(d).toBe(d); + expect(this.d).toBe(d); + } + } + + const a = new A("c"); + expect(a.d).toBe("c"); + + class B extends A {} + + const b = new B(); + expect(b.d).toBe("default"); + + class C extends A { + constructor(public f: number) { + super(); + expect(this.d).toBe("default"); + expect(f).toBe(f); + expect(this.f).toBe(f); + } + } + + const c = new C(5); + expect(c.d).toBe("default"); + expect(c.f).toBe(5); +}); |