Accepting new baselines

This commit is contained in:
Anders Hejlsberg 2014-10-22 16:58:13 -07:00
parent 10a7e6ba70
commit 5505371c5a
4 changed files with 89 additions and 25 deletions

View file

@ -7,7 +7,6 @@ tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInv
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(18,11): error TS2360: The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'.
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(19,11): error TS2360: The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'.
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(20,11): error TS2360: The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'.
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(29,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(30,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(31,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(32,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
@ -16,11 +15,13 @@ tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInv
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(35,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(36,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(37,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(40,11): error TS2360: The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'.
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(40,17): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(38,16): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(39,17): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(43,11): error TS2360: The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'.
tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts(43,17): error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
==== tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts (20 errors) ====
==== tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts (21 errors) ====
enum E { a }
var x: any;
@ -66,6 +67,7 @@ tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInv
var b2: boolean;
var b3: string;
var b4: void;
var b5: string | number;
var rb1 = x in b1;
~~
@ -79,22 +81,26 @@ tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInv
var rb4 = x in b4;
~~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb5 = x in 0;
~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb6 = x in false;
~~~~~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb7 = x in '';
var rb5 = x in b5;
~~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb8 = x in null;
var rb6 = x in 0;
~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb7 = x in false;
~~~~~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb8 = x in '';
~~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb9 = x in null;
~~~~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
var rb9 = x in undefined;
~~~~~~~~~
var rb10 = x in undefined;
~~~~~~~~~
!!! error TS2361: The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter
// both operands are invalid
var rc1 = {} in '';
~~

View file

@ -26,16 +26,19 @@ var b1: number;
var b2: boolean;
var b3: string;
var b4: void;
var b5: string | number;
var rb1 = x in b1;
var rb2 = x in b2;
var rb3 = x in b3;
var rb4 = x in b4;
var rb5 = x in 0;
var rb6 = x in false;
var rb7 = x in '';
var rb8 = x in null;
var rb9 = x in undefined;
var rb5 = x in b5;
var rb6 = x in 0;
var rb7 = x in false;
var rb8 = x in '';
var rb9 = x in null;
var rb10 = x in undefined;
// both operands are invalid
var rc1 = {} in '';
@ -67,14 +70,16 @@ var b1;
var b2;
var b3;
var b4;
var b5;
var rb1 = x in b1;
var rb2 = x in b2;
var rb3 = x in b3;
var rb4 = x in b4;
var rb5 = x in 0;
var rb6 = x in false;
var rb7 = x in '';
var rb8 = x in null;
var rb9 = x in undefined;
var rb5 = x in b5;
var rb6 = x in 0;
var rb7 = x in false;
var rb8 = x in '';
var rb9 = x in null;
var rb10 = x in undefined;
// both operands are invalid
var rc1 = {} in '';

View file

@ -21,7 +21,18 @@ var rb2 = x in {};
function foo<T>(t: T) {
var rb3 = x in t;
}
}
interface X { x: number }
interface Y { y: number }
var c1: X | Y;
var c2: X;
var c3: Y;
var rc1 = x in c1;
var rc2 = x in (c2 || c3);
//// [inOperatorWithValidOperands.js]
var x;
@ -42,3 +53,8 @@ var rb2 = x in {};
function foo(t) {
var rb3 = x in t;
}
var c1;
var c2;
var c3;
var rc1 = x in c1;
var rc2 = x in (c2 || c3);

View file

@ -67,3 +67,40 @@ function foo<T>(t: T) {
>x : any
>t : T
}
interface X { x: number }
>X : X
>x : number
interface Y { y: number }
>Y : Y
>y : number
var c1: X | Y;
>c1 : X | Y
>X : X
>Y : Y
var c2: X;
>c2 : X
>X : X
var c3: Y;
>c3 : Y
>Y : Y
var rc1 = x in c1;
>rc1 : boolean
>x in c1 : boolean
>x : any
>c1 : X | Y
var rc2 = x in (c2 || c3);
>rc2 : boolean
>x in (c2 || c3) : boolean
>x : any
>(c2 || c3) : X | Y
>c2 || c3 : X | Y
>c2 : X
>c3 : Y