TypeScript/tests/baselines/reference/logicalNotOperatorWithEnumType.types
2014-10-06 22:27:22 -07:00

74 lines
1.5 KiB
Text

=== tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithEnumType.ts ===
// ! operator on enum type
enum ENUM { A, B, C };
>ENUM : ENUM
>A : ENUM
>B : ENUM
>C : ENUM
enum ENUM1 { };
>ENUM1 : ENUM1
// enum type var
var ResultIsBoolean1 = !ENUM;
>ResultIsBoolean1 : boolean
>!ENUM : boolean
>ENUM : typeof ENUM
// enum type expressions
var ResultIsBoolean2 = !ENUM[1];
>ResultIsBoolean2 : boolean
>!ENUM[1] : boolean
>ENUM[1] : string
>ENUM : typeof ENUM
var ResultIsBoolean3 = !(ENUM[1] + ENUM[2]);
>ResultIsBoolean3 : boolean
>!(ENUM[1] + ENUM[2]) : boolean
>(ENUM[1] + ENUM[2]) : string
>ENUM[1] + ENUM[2] : string
>ENUM[1] : string
>ENUM : typeof ENUM
>ENUM[2] : string
>ENUM : typeof ENUM
// multiple ! operators
var ResultIsBoolean4 = !!ENUM;
>ResultIsBoolean4 : boolean
>!!ENUM : boolean
>!ENUM : boolean
>ENUM : typeof ENUM
var ResultIsBoolean5 = !!!(ENUM[1] + ENUM[2]);
>ResultIsBoolean5 : boolean
>!!!(ENUM[1] + ENUM[2]) : boolean
>!!(ENUM[1] + ENUM[2]) : boolean
>!(ENUM[1] + ENUM[2]) : boolean
>(ENUM[1] + ENUM[2]) : string
>ENUM[1] + ENUM[2] : string
>ENUM[1] : string
>ENUM : typeof ENUM
>ENUM[2] : string
>ENUM : typeof ENUM
// miss assignment operators
!ENUM;
>!ENUM : boolean
>ENUM : typeof ENUM
!ENUM1;
>!ENUM1 : boolean
>ENUM1 : typeof ENUM1
!ENUM[1];
>!ENUM[1] : boolean
>ENUM[1] : string
>ENUM : typeof ENUM
!ENUM, ENUM1;
>!ENUM, ENUM1 : typeof ENUM1
>!ENUM : boolean
>ENUM : typeof ENUM
>ENUM1 : typeof ENUM1