mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Add test to verify reexported const enums are elided
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
//// [tests/cases/compiler/constEnumNoEmitReexport.ts] ////
|
||||
|
||||
//// [ConstEnum.ts]
|
||||
export const enum MyConstEnum {
|
||||
Foo,
|
||||
Bar
|
||||
};
|
||||
//// [ImportExport.ts]
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
export { MyConstEnum };
|
||||
//// [ImportExportDefault.ts]
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
export default MyConstEnum;
|
||||
//// [ReExportDefault.ts]
|
||||
export { MyConstEnum as default } from './ConstEnum';
|
||||
//// [ReExport.ts]
|
||||
export { MyConstEnum } from './ConstEnum';
|
||||
//// [Usage1.ts]
|
||||
import MyConstEnum1 from './ImportExportDefault';
|
||||
import MyConstEnum2 from './ReExportDefault';
|
||||
MyConstEnum1.Foo;
|
||||
MyConstEnum2.Foo;
|
||||
//// [Usage2.ts]
|
||||
import { MyConstEnum } from './ImportExport';
|
||||
MyConstEnum.Foo;
|
||||
//// [Usage3.ts]
|
||||
import { MyConstEnum } from './ReExport';
|
||||
MyConstEnum.Foo;
|
||||
|
||||
|
||||
//// [ConstEnum.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
;
|
||||
//// [ImportExport.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
//// [ImportExportDefault.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
//// [ReExportDefault.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
//// [ReExport.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
//// [Usage1.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
0 /* Foo */;
|
||||
0 /* Foo */;
|
||||
//// [Usage2.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
0 /* Foo */;
|
||||
//// [Usage3.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
0 /* Foo */;
|
||||
@@ -0,0 +1,69 @@
|
||||
=== tests/cases/compiler/ConstEnum.ts ===
|
||||
export const enum MyConstEnum {
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(ConstEnum.ts, 0, 0))
|
||||
|
||||
Foo,
|
||||
>Foo : Symbol(MyConstEnum.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
|
||||
Bar
|
||||
>Bar : Symbol(MyConstEnum.Bar, Decl(ConstEnum.ts, 1, 8))
|
||||
|
||||
};
|
||||
=== tests/cases/compiler/ImportExport.ts ===
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(ImportExport.ts, 0, 8))
|
||||
|
||||
export { MyConstEnum };
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(ImportExport.ts, 1, 8))
|
||||
|
||||
=== tests/cases/compiler/ImportExportDefault.ts ===
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(ImportExportDefault.ts, 0, 8))
|
||||
|
||||
export default MyConstEnum;
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(ImportExportDefault.ts, 0, 8))
|
||||
|
||||
=== tests/cases/compiler/ReExportDefault.ts ===
|
||||
export { MyConstEnum as default } from './ConstEnum';
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(ConstEnum.ts, 0, 0))
|
||||
>default : Symbol(default, Decl(ReExportDefault.ts, 0, 8))
|
||||
|
||||
=== tests/cases/compiler/ReExport.ts ===
|
||||
export { MyConstEnum } from './ConstEnum';
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(ReExport.ts, 0, 8))
|
||||
|
||||
=== tests/cases/compiler/Usage1.ts ===
|
||||
import MyConstEnum1 from './ImportExportDefault';
|
||||
>MyConstEnum1 : Symbol(MyConstEnum1, Decl(Usage1.ts, 0, 6))
|
||||
|
||||
import MyConstEnum2 from './ReExportDefault';
|
||||
>MyConstEnum2 : Symbol(MyConstEnum2, Decl(Usage1.ts, 1, 6))
|
||||
|
||||
MyConstEnum1.Foo;
|
||||
>MyConstEnum1.Foo : Symbol(MyConstEnum1.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
>MyConstEnum1 : Symbol(MyConstEnum1, Decl(Usage1.ts, 0, 6))
|
||||
>Foo : Symbol(MyConstEnum1.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
|
||||
MyConstEnum2.Foo;
|
||||
>MyConstEnum2.Foo : Symbol(MyConstEnum1.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
>MyConstEnum2 : Symbol(MyConstEnum2, Decl(Usage1.ts, 1, 6))
|
||||
>Foo : Symbol(MyConstEnum1.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
|
||||
=== tests/cases/compiler/Usage2.ts ===
|
||||
import { MyConstEnum } from './ImportExport';
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(Usage2.ts, 0, 8))
|
||||
|
||||
MyConstEnum.Foo;
|
||||
>MyConstEnum.Foo : Symbol(MyConstEnum.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(Usage2.ts, 0, 8))
|
||||
>Foo : Symbol(MyConstEnum.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
|
||||
=== tests/cases/compiler/Usage3.ts ===
|
||||
import { MyConstEnum } from './ReExport';
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(Usage3.ts, 0, 8))
|
||||
|
||||
MyConstEnum.Foo;
|
||||
>MyConstEnum.Foo : Symbol(MyConstEnum.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
>MyConstEnum : Symbol(MyConstEnum, Decl(Usage3.ts, 0, 8))
|
||||
>Foo : Symbol(MyConstEnum.Foo, Decl(ConstEnum.ts, 0, 31))
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
=== tests/cases/compiler/ConstEnum.ts ===
|
||||
export const enum MyConstEnum {
|
||||
>MyConstEnum : MyConstEnum
|
||||
|
||||
Foo,
|
||||
>Foo : MyConstEnum.Foo
|
||||
|
||||
Bar
|
||||
>Bar : MyConstEnum.Bar
|
||||
|
||||
};
|
||||
=== tests/cases/compiler/ImportExport.ts ===
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
>MyConstEnum : typeof MyConstEnum
|
||||
|
||||
export { MyConstEnum };
|
||||
>MyConstEnum : typeof MyConstEnum
|
||||
|
||||
=== tests/cases/compiler/ImportExportDefault.ts ===
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
>MyConstEnum : typeof MyConstEnum
|
||||
|
||||
export default MyConstEnum;
|
||||
>MyConstEnum : MyConstEnum
|
||||
|
||||
=== tests/cases/compiler/ReExportDefault.ts ===
|
||||
export { MyConstEnum as default } from './ConstEnum';
|
||||
>MyConstEnum : typeof import("tests/cases/compiler/ConstEnum").MyConstEnum
|
||||
>default : typeof import("tests/cases/compiler/ConstEnum").MyConstEnum
|
||||
|
||||
=== tests/cases/compiler/ReExport.ts ===
|
||||
export { MyConstEnum } from './ConstEnum';
|
||||
>MyConstEnum : typeof import("tests/cases/compiler/ConstEnum").MyConstEnum
|
||||
|
||||
=== tests/cases/compiler/Usage1.ts ===
|
||||
import MyConstEnum1 from './ImportExportDefault';
|
||||
>MyConstEnum1 : typeof MyConstEnum1
|
||||
|
||||
import MyConstEnum2 from './ReExportDefault';
|
||||
>MyConstEnum2 : typeof MyConstEnum1
|
||||
|
||||
MyConstEnum1.Foo;
|
||||
>MyConstEnum1.Foo : MyConstEnum1.Foo
|
||||
>MyConstEnum1 : typeof MyConstEnum1
|
||||
>Foo : MyConstEnum1.Foo
|
||||
|
||||
MyConstEnum2.Foo;
|
||||
>MyConstEnum2.Foo : MyConstEnum1.Foo
|
||||
>MyConstEnum2 : typeof MyConstEnum1
|
||||
>Foo : MyConstEnum1.Foo
|
||||
|
||||
=== tests/cases/compiler/Usage2.ts ===
|
||||
import { MyConstEnum } from './ImportExport';
|
||||
>MyConstEnum : typeof MyConstEnum
|
||||
|
||||
MyConstEnum.Foo;
|
||||
>MyConstEnum.Foo : MyConstEnum.Foo
|
||||
>MyConstEnum : typeof MyConstEnum
|
||||
>Foo : MyConstEnum.Foo
|
||||
|
||||
=== tests/cases/compiler/Usage3.ts ===
|
||||
import { MyConstEnum } from './ReExport';
|
||||
>MyConstEnum : typeof MyConstEnum
|
||||
|
||||
MyConstEnum.Foo;
|
||||
>MyConstEnum.Foo : MyConstEnum.Foo
|
||||
>MyConstEnum : typeof MyConstEnum
|
||||
>Foo : MyConstEnum.Foo
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
// @filename: ConstEnum.ts
|
||||
export const enum MyConstEnum {
|
||||
Foo,
|
||||
Bar
|
||||
};
|
||||
// @filename: ImportExport.ts
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
export { MyConstEnum };
|
||||
// @filename: ImportExportDefault.ts
|
||||
import { MyConstEnum } from './ConstEnum';
|
||||
export default MyConstEnum;
|
||||
// @filename: ReExportDefault.ts
|
||||
export { MyConstEnum as default } from './ConstEnum';
|
||||
// @filename: ReExport.ts
|
||||
export { MyConstEnum } from './ConstEnum';
|
||||
// @filename: Usage1.ts
|
||||
import MyConstEnum1 from './ImportExportDefault';
|
||||
import MyConstEnum2 from './ReExportDefault';
|
||||
MyConstEnum1.Foo;
|
||||
MyConstEnum2.Foo;
|
||||
// @filename: Usage2.ts
|
||||
import { MyConstEnum } from './ImportExport';
|
||||
MyConstEnum.Foo;
|
||||
// @filename: Usage3.ts
|
||||
import { MyConstEnum } from './ReExport';
|
||||
MyConstEnum.Foo;
|
||||
Reference in New Issue
Block a user