TypeScript/tests/cases/conformance/enums/enumErrors.ts
okmttdhr 06e05f25e1
Improve error message for computed enums (#37790)
* Add error message for computed enums

* Add test case for computed enums

* Accept baselines

* Fix returned value when error
2020-04-15 13:50:33 -04:00

54 lines
956 B
TypeScript

// Enum named with PredefinedTypes
enum any { }
enum number { }
enum string { }
enum boolean { }
// Enum with computed member initializer of type Number
enum E5 {
C = new Number(30)
}
enum E9 {
A,
B = A
}
//Enum with computed member intializer of different enum type
// Bug 707850: This should be allowed
enum E10 {
A = E9.A,
B = E9.B
}
// Enum with computed member intializer of other types
enum E11 {
A = true,
B = new Date(),
C = window,
D = {},
E = (() => 'foo')(),
}
// Enum with string valued member and computed member initializers
enum E12 {
A = '',
B = new Date(),
C = window,
D = {},
E = 1 + 1,
F = (() => 'foo')(),
}
// Enum with incorrect syntax
enum E13 {
postComma,
postValueComma = 1,
postSemicolon;
postColonValueComma: 2,
postColonValueSemicolon: 3;
};
enum E14 { a, b: any "hello" += 1, c, d}