diff options
Diffstat (limited to 'test/transpiler')
-rw-r--r-- | test/transpiler/decorator-export-default-class-fixture-anon.ts | 10 | ||||
-rw-r--r-- | test/transpiler/decorator-export-default-class-fixture.ts | 10 | ||||
-rw-r--r-- | test/transpiler/decorators.test.ts | 10 | ||||
-rw-r--r-- | test/transpiler/export-default-with-static-initializer.js | 5 | ||||
-rw-r--r-- | test/transpiler/export-default.test.js | 6 |
5 files changed, 41 insertions, 0 deletions
diff --git a/test/transpiler/decorator-export-default-class-fixture-anon.ts b/test/transpiler/decorator-export-default-class-fixture-anon.ts new file mode 100644 index 000000000..bf81afa2c --- /dev/null +++ b/test/transpiler/decorator-export-default-class-fixture-anon.ts @@ -0,0 +1,10 @@ +function decorator(target: any, propertyKey: any) { + target[propertyKey + "decorated"] = true; +} + +export default class { + @decorator + method() { + return 42; + } +} diff --git a/test/transpiler/decorator-export-default-class-fixture.ts b/test/transpiler/decorator-export-default-class-fixture.ts new file mode 100644 index 000000000..901c17718 --- /dev/null +++ b/test/transpiler/decorator-export-default-class-fixture.ts @@ -0,0 +1,10 @@ +function decorator(target: any, propertyKey: any) { + target[propertyKey + "decorated"] = true; +} + +export default class DecoratedClass { + @decorator + method() { + return 42; + } +} diff --git a/test/transpiler/decorators.test.ts b/test/transpiler/decorators.test.ts index 8769ea2bc..100ecc3bc 100644 --- a/test/transpiler/decorators.test.ts +++ b/test/transpiler/decorators.test.ts @@ -1,5 +1,7 @@ // @ts-nocheck import { test, expect, describe } from "bun:test"; +import DecoratedClass from "./decorator-export-default-class-fixture"; +import DecoratedAnonClass from "./decorator-export-default-class-fixture-anon"; test("decorator order of evaluation", () => { let counter = 0; @@ -988,3 +990,11 @@ describe("constructor statements", () => { expect(a.v2).toBe(0); }); }); + +test("export default class Named works", () => { + expect(new DecoratedClass()["methoddecorated"]).toBe(true); +}); + +test("export default class works (anonymous name)", () => { + expect(new DecoratedAnonClass()["methoddecorated"]).toBe(true); +}); diff --git a/test/transpiler/export-default-with-static-initializer.js b/test/transpiler/export-default-with-static-initializer.js new file mode 100644 index 000000000..2d390b008 --- /dev/null +++ b/test/transpiler/export-default-with-static-initializer.js @@ -0,0 +1,5 @@ +export default class { + static { + this.boop = "boop"; + } +} diff --git a/test/transpiler/export-default.test.js b/test/transpiler/export-default.test.js new file mode 100644 index 000000000..e557ffe00 --- /dev/null +++ b/test/transpiler/export-default.test.js @@ -0,0 +1,6 @@ +import WithStatic from "./export-default-with-static-initializer"; +import { test, expect } from "bun:test"; + +test("static initializer", () => { + expect(WithStatic.boop).toBe("boop"); +}); |