49be51dcf3
Switches the error message emitted by the parser to the more specific _"An enum member name must be followed by a ',' or '='."_ when the expected comma doesn't follow the member.
127 lines
3.8 KiB
Plaintext
127 lines
3.8 KiB
Plaintext
=== tests/cases/conformance/enums/enumErrors.ts ===
|
|
// Enum named with PredefinedTypes
|
|
enum any { }
|
|
>any : Symbol(any, Decl(enumErrors.ts, 0, 0))
|
|
|
|
enum number { }
|
|
>number : Symbol(number, Decl(enumErrors.ts, 1, 12))
|
|
|
|
enum string { }
|
|
>string : Symbol(string, Decl(enumErrors.ts, 2, 15))
|
|
|
|
enum boolean { }
|
|
>boolean : Symbol(boolean, Decl(enumErrors.ts, 3, 15))
|
|
|
|
// Enum with computed member initializer of type Number
|
|
enum E5 {
|
|
>E5 : Symbol(E5, Decl(enumErrors.ts, 4, 16))
|
|
|
|
C = new Number(30)
|
|
>C : Symbol(E5.C, Decl(enumErrors.ts, 7, 9))
|
|
>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
|
|
}
|
|
|
|
enum E9 {
|
|
>E9 : Symbol(E9, Decl(enumErrors.ts, 9, 1))
|
|
|
|
A,
|
|
>A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
|
|
|
|
B = A
|
|
>B : Symbol(E9.B, Decl(enumErrors.ts, 12, 6))
|
|
>A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
|
|
}
|
|
|
|
//Enum with computed member intializer of different enum type
|
|
// Bug 707850: This should be allowed
|
|
enum E10 {
|
|
>E10 : Symbol(E10, Decl(enumErrors.ts, 14, 1))
|
|
|
|
A = E9.A,
|
|
>A : Symbol(E10.A, Decl(enumErrors.ts, 18, 10))
|
|
>E9.A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
|
|
>E9 : Symbol(E9, Decl(enumErrors.ts, 9, 1))
|
|
>A : Symbol(E9.A, Decl(enumErrors.ts, 11, 9))
|
|
|
|
B = E9.B
|
|
>B : Symbol(E10.B, Decl(enumErrors.ts, 19, 13))
|
|
>E9.B : Symbol(E9.B, Decl(enumErrors.ts, 12, 6))
|
|
>E9 : Symbol(E9, Decl(enumErrors.ts, 9, 1))
|
|
>B : Symbol(E9.B, Decl(enumErrors.ts, 12, 6))
|
|
}
|
|
|
|
// Enum with computed member intializer of other types
|
|
enum E11 {
|
|
>E11 : Symbol(E11, Decl(enumErrors.ts, 21, 1))
|
|
|
|
A = true,
|
|
>A : Symbol(E11.A, Decl(enumErrors.ts, 24, 10))
|
|
|
|
B = new Date(),
|
|
>B : Symbol(E11.B, Decl(enumErrors.ts, 25, 13))
|
|
>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --))
|
|
|
|
C = window,
|
|
>C : Symbol(E11.C, Decl(enumErrors.ts, 26, 19))
|
|
>window : Symbol(window, Decl(lib.dom.d.ts, --, --))
|
|
|
|
D = {}
|
|
>D : Symbol(E11.D, Decl(enumErrors.ts, 27, 15))
|
|
}
|
|
|
|
// Enum with string valued member and computed member initializers
|
|
enum E12 {
|
|
>E12 : Symbol(E12, Decl(enumErrors.ts, 29, 1))
|
|
|
|
A = '',
|
|
>A : Symbol(E12.A, Decl(enumErrors.ts, 32, 10))
|
|
|
|
B = new Date(),
|
|
>B : Symbol(E12.B, Decl(enumErrors.ts, 33, 11))
|
|
>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --))
|
|
|
|
C = window,
|
|
>C : Symbol(E12.C, Decl(enumErrors.ts, 34, 19))
|
|
>window : Symbol(window, Decl(lib.dom.d.ts, --, --))
|
|
|
|
D = {},
|
|
>D : Symbol(E12.D, Decl(enumErrors.ts, 35, 15))
|
|
|
|
E = 1 + 1,
|
|
>E : Symbol(E12.E, Decl(enumErrors.ts, 36, 11))
|
|
}
|
|
|
|
// Enum with incorrect syntax
|
|
enum E13 {
|
|
>E13 : Symbol(E13, Decl(enumErrors.ts, 38, 1))
|
|
|
|
postComma,
|
|
>postComma : Symbol(E13.postComma, Decl(enumErrors.ts, 41, 10))
|
|
|
|
postValueComma = 1,
|
|
>postValueComma : Symbol(E13.postValueComma, Decl(enumErrors.ts, 42, 14))
|
|
|
|
postSemicolon;
|
|
>postSemicolon : Symbol(E13.postSemicolon, Decl(enumErrors.ts, 43, 23))
|
|
|
|
postColonValueComma: 2,
|
|
>postColonValueComma : Symbol(E13.postColonValueComma, Decl(enumErrors.ts, 45, 18))
|
|
>2 : Symbol(E13[2], Decl(enumErrors.ts, 46, 24))
|
|
|
|
postColonValueSemicolon: 3;
|
|
>postColonValueSemicolon : Symbol(E13.postColonValueSemicolon, Decl(enumErrors.ts, 46, 27))
|
|
>3 : Symbol(E13[3], Decl(enumErrors.ts, 47, 28))
|
|
|
|
};
|
|
|
|
enum E14 { a, b: any "hello" += 1, c, d}
|
|
>E14 : Symbol(E14, Decl(enumErrors.ts, 48, 2))
|
|
>a : Symbol(E14.a, Decl(enumErrors.ts, 50, 10))
|
|
>b : Symbol(E14.b, Decl(enumErrors.ts, 50, 13))
|
|
>any : Symbol(E14.any, Decl(enumErrors.ts, 50, 16))
|
|
>"hello" : Symbol(E14["hello"], Decl(enumErrors.ts, 50, 20))
|
|
>1 : Symbol(E14[1], Decl(enumErrors.ts, 50, 31))
|
|
>c : Symbol(E14.c, Decl(enumErrors.ts, 50, 34))
|
|
>d : Symbol(E14.d, Decl(enumErrors.ts, 50, 37))
|
|
|