Skip to content

Commit 3b6fa31

Browse files
committed
new tests
1 parent a9be530 commit 3b6fa31

5 files changed

Lines changed: 81 additions & 1 deletion

File tree

src/compiler/emitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6208,7 +6208,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
62086208
// do not emit var if variable was already hoisted
62096209

62106210
const isES6ExportedEnum = isES6ExportedDeclaration(node);
6211-
if (!(node.flags & NodeFlags.Export) || (isES6ExportedEnum && isFirstDeclarationOfKind(node, node.symbol && node.symbol.declarations, SyntaxKind.ModuleDeclaration))) {
6211+
if ((!(node.flags & NodeFlags.Export)) || (isES6ExportedEnum && isFirstDeclarationOfKind(node, node.symbol && node.symbol.declarations, SyntaxKind.EnumDeclaration))) {
62126212
emitStart(node);
62136213
if (isES6ExportedEnum) {
62146214
write("export ");
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
//// [enumExportMergingES6.ts]
2+
export enum Animals {
3+
Cat = 1
4+
}
5+
export enum Animals {
6+
Dog = 2
7+
}
8+
export enum Animals {
9+
CatDog = Cat | Dog
10+
}
11+
12+
13+
//// [enumExportMergingES6.js]
14+
export var Animals;
15+
(function (Animals) {
16+
Animals[Animals["Cat"] = 1] = "Cat";
17+
})(Animals || (Animals = {}));
18+
(function (Animals) {
19+
Animals[Animals["Dog"] = 2] = "Dog";
20+
})(Animals || (Animals = {}));
21+
(function (Animals) {
22+
Animals[Animals["CatDog"] = 3] = "CatDog";
23+
})(Animals || (Animals = {}));
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
=== tests/cases/conformance/enums/enumExportMergingES6.ts ===
2+
export enum Animals {
3+
>Animals : Symbol(Animals, Decl(enumExportMergingES6.ts, 0, 0), Decl(enumExportMergingES6.ts, 2, 1), Decl(enumExportMergingES6.ts, 5, 1))
4+
5+
Cat = 1
6+
>Cat : Symbol(Animals.Cat, Decl(enumExportMergingES6.ts, 0, 21))
7+
}
8+
export enum Animals {
9+
>Animals : Symbol(Animals, Decl(enumExportMergingES6.ts, 0, 0), Decl(enumExportMergingES6.ts, 2, 1), Decl(enumExportMergingES6.ts, 5, 1))
10+
11+
Dog = 2
12+
>Dog : Symbol(Animals.Dog, Decl(enumExportMergingES6.ts, 3, 21))
13+
}
14+
export enum Animals {
15+
>Animals : Symbol(Animals, Decl(enumExportMergingES6.ts, 0, 0), Decl(enumExportMergingES6.ts, 2, 1), Decl(enumExportMergingES6.ts, 5, 1))
16+
17+
CatDog = Cat | Dog
18+
>CatDog : Symbol(Animals.CatDog, Decl(enumExportMergingES6.ts, 6, 21))
19+
>Cat : Symbol(Animals.Cat, Decl(enumExportMergingES6.ts, 0, 21))
20+
>Dog : Symbol(Animals.Dog, Decl(enumExportMergingES6.ts, 3, 21))
21+
}
22+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
=== tests/cases/conformance/enums/enumExportMergingES6.ts ===
2+
export enum Animals {
3+
>Animals : Animals
4+
5+
Cat = 1
6+
>Cat : Animals
7+
>1 : number
8+
}
9+
export enum Animals {
10+
>Animals : Animals
11+
12+
Dog = 2
13+
>Dog : Animals
14+
>2 : number
15+
}
16+
export enum Animals {
17+
>Animals : Animals
18+
19+
CatDog = Cat | Dog
20+
>CatDog : Animals
21+
>Cat | Dog : number
22+
>Cat : Animals
23+
>Dog : Animals
24+
}
25+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// @target: es6
2+
export enum Animals {
3+
Cat = 1
4+
}
5+
export enum Animals {
6+
Dog = 2
7+
}
8+
export enum Animals {
9+
CatDog = Cat | Dog
10+
}

0 commit comments

Comments
 (0)