Added test case for enums

This commit is contained in:
Sheetal Nandi
2016-10-05 17:40:01 -07:00
parent 32de4d7f08
commit 8e4efb6cd9
4 changed files with 174 additions and 0 deletions

View File

@@ -13,6 +13,27 @@ class B {
@PropDeco
z: "foo" | boolean;
}
enum E {
A,
B,
C,
D
}
class D {
@PropDeco
a: E.A;
@PropDeco
b: E.B | E.C;
@PropDeco
c: E;
@PropDeco
d: E | number;
}
//// [metadataOfUnion.js]
@@ -48,3 +69,31 @@ __decorate([
PropDeco,
__metadata("design:type", Object)
], B.prototype, "z");
var E;
(function (E) {
E[E["A"] = 0] = "A";
E[E["B"] = 1] = "B";
E[E["C"] = 2] = "C";
E[E["D"] = 3] = "D";
})(E || (E = {}));
var D = (function () {
function D() {
}
return D;
}());
__decorate([
PropDeco,
__metadata("design:type", Number)
], D.prototype, "a");
__decorate([
PropDeco,
__metadata("design:type", Number)
], D.prototype, "b");
__decorate([
PropDeco,
__metadata("design:type", Number)
], D.prototype, "c");
__decorate([
PropDeco,
__metadata("design:type", Number)
], D.prototype, "d");

View File

@@ -31,3 +31,55 @@ class B {
z: "foo" | boolean;
>z : Symbol(B.z, Decl(metadataOfUnion.ts, 10, 22))
}
enum E {
>E : Symbol(E, Decl(metadataOfUnion.ts, 14, 1))
A,
>A : Symbol(E.A, Decl(metadataOfUnion.ts, 16, 8))
B,
>B : Symbol(E.B, Decl(metadataOfUnion.ts, 17, 6))
C,
>C : Symbol(E.C, Decl(metadataOfUnion.ts, 18, 6))
D
>D : Symbol(E.D, Decl(metadataOfUnion.ts, 19, 6))
}
class D {
>D : Symbol(D, Decl(metadataOfUnion.ts, 21, 1))
@PropDeco
>PropDeco : Symbol(PropDeco, Decl(metadataOfUnion.ts, 0, 0))
a: E.A;
>a : Symbol(D.a, Decl(metadataOfUnion.ts, 23, 9))
>E : Symbol(E, Decl(metadataOfUnion.ts, 14, 1))
>A : Symbol(E.A, Decl(metadataOfUnion.ts, 16, 8))
@PropDeco
>PropDeco : Symbol(PropDeco, Decl(metadataOfUnion.ts, 0, 0))
b: E.B | E.C;
>b : Symbol(D.b, Decl(metadataOfUnion.ts, 25, 11))
>E : Symbol(E, Decl(metadataOfUnion.ts, 14, 1))
>B : Symbol(E.B, Decl(metadataOfUnion.ts, 17, 6))
>E : Symbol(E, Decl(metadataOfUnion.ts, 14, 1))
>C : Symbol(E.C, Decl(metadataOfUnion.ts, 18, 6))
@PropDeco
>PropDeco : Symbol(PropDeco, Decl(metadataOfUnion.ts, 0, 0))
c: E;
>c : Symbol(D.c, Decl(metadataOfUnion.ts, 28, 17))
>E : Symbol(E, Decl(metadataOfUnion.ts, 14, 1))
@PropDeco
>PropDeco : Symbol(PropDeco, Decl(metadataOfUnion.ts, 0, 0))
d: E | number;
>d : Symbol(D.d, Decl(metadataOfUnion.ts, 31, 9))
>E : Symbol(E, Decl(metadataOfUnion.ts, 14, 1))
}

View File

@@ -32,3 +32,55 @@ class B {
z: "foo" | boolean;
>z : boolean | "foo"
}
enum E {
>E : E
A,
>A : E.A
B,
>B : E.B
C,
>C : E.C
D
>D : E.D
}
class D {
>D : D
@PropDeco
>PropDeco : (target: Object, propKey: string | symbol) => void
a: E.A;
>a : E.A
>E : any
>A : E.A
@PropDeco
>PropDeco : (target: Object, propKey: string | symbol) => void
b: E.B | E.C;
>b : E.B | E.C
>E : any
>B : E.B
>E : any
>C : E.C
@PropDeco
>PropDeco : (target: Object, propKey: string | symbol) => void
c: E;
>c : E
>E : E
@PropDeco
>PropDeco : (target: Object, propKey: string | symbol) => void
d: E | number;
>d : number | E
>E : E
}

View File

@@ -14,4 +14,25 @@ class B {
@PropDeco
z: "foo" | boolean;
}
enum E {
A,
B,
C,
D
}
class D {
@PropDeco
a: E.A;
@PropDeco
b: E.B | E.C;
@PropDeco
c: E;
@PropDeco
d: E | number;
}