Adding tests and accepting new baselines
This commit is contained in:
parent
a1533b695b
commit
86a9c80ff8
8 changed files with 300 additions and 8 deletions
46
tests/baselines/reference/arrayLiteralSpread.js
Normal file
46
tests/baselines/reference/arrayLiteralSpread.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
//// [arrayLiteralSpread.ts]
|
||||
function f0() {
|
||||
var a = [1, 2, 3];
|
||||
var a1 = [...a];
|
||||
var a2 = [1, ...a];
|
||||
var a3 = [1, 2, ...a];
|
||||
var a4 = [...a, 1];
|
||||
var a5 = [...a, 1, 2];
|
||||
var a6 = [1, 2, ...a, 1, 2];
|
||||
var a7 = [1, ...a, 2, ...a];
|
||||
var a8 = [...a, ...a, ...a];
|
||||
}
|
||||
|
||||
function f1() {
|
||||
var a = [1, 2, 3];
|
||||
var b = ["hello", ...a, true];
|
||||
var b: (string | number | boolean)[];
|
||||
}
|
||||
|
||||
function f2() {
|
||||
var a = [...[...[...[...[...[]]]]]];
|
||||
var b = [...[...[...[...[...[5]]]]]];
|
||||
}
|
||||
|
||||
|
||||
//// [arrayLiteralSpread.js]
|
||||
function f0() {
|
||||
var a = [1, 2, 3];
|
||||
var a1 = a;
|
||||
var a2 = [1].concat(a);
|
||||
var a3 = [1, 2].concat(a);
|
||||
var a4 = a.concat([1]);
|
||||
var a5 = a.concat([1, 2]);
|
||||
var a6 = [1, 2].concat(a, [1, 2]);
|
||||
var a7 = [1].concat(a, [2], a);
|
||||
var a8 = a.concat(a, a);
|
||||
}
|
||||
function f1() {
|
||||
var a = [1, 2, 3];
|
||||
var b = ["hello"].concat(a, [true]);
|
||||
var b;
|
||||
}
|
||||
function f2() {
|
||||
var a = [];
|
||||
var b = [5];
|
||||
}
|
90
tests/baselines/reference/arrayLiteralSpread.types
Normal file
90
tests/baselines/reference/arrayLiteralSpread.types
Normal file
|
@ -0,0 +1,90 @@
|
|||
=== tests/cases/conformance/es6/spread/arrayLiteralSpread.ts ===
|
||||
function f0() {
|
||||
>f0 : () => void
|
||||
|
||||
var a = [1, 2, 3];
|
||||
>a : number[]
|
||||
>[1, 2, 3] : number[]
|
||||
|
||||
var a1 = [...a];
|
||||
>a1 : number[]
|
||||
>[...a] : number[]
|
||||
>a : number[]
|
||||
|
||||
var a2 = [1, ...a];
|
||||
>a2 : number[]
|
||||
>[1, ...a] : number[]
|
||||
>a : number[]
|
||||
|
||||
var a3 = [1, 2, ...a];
|
||||
>a3 : number[]
|
||||
>[1, 2, ...a] : number[]
|
||||
>a : number[]
|
||||
|
||||
var a4 = [...a, 1];
|
||||
>a4 : number[]
|
||||
>[...a, 1] : number[]
|
||||
>a : number[]
|
||||
|
||||
var a5 = [...a, 1, 2];
|
||||
>a5 : number[]
|
||||
>[...a, 1, 2] : number[]
|
||||
>a : number[]
|
||||
|
||||
var a6 = [1, 2, ...a, 1, 2];
|
||||
>a6 : number[]
|
||||
>[1, 2, ...a, 1, 2] : number[]
|
||||
>a : number[]
|
||||
|
||||
var a7 = [1, ...a, 2, ...a];
|
||||
>a7 : number[]
|
||||
>[1, ...a, 2, ...a] : number[]
|
||||
>a : number[]
|
||||
>a : number[]
|
||||
|
||||
var a8 = [...a, ...a, ...a];
|
||||
>a8 : number[]
|
||||
>[...a, ...a, ...a] : number[]
|
||||
>a : number[]
|
||||
>a : number[]
|
||||
>a : number[]
|
||||
}
|
||||
|
||||
function f1() {
|
||||
>f1 : () => void
|
||||
|
||||
var a = [1, 2, 3];
|
||||
>a : number[]
|
||||
>[1, 2, 3] : number[]
|
||||
|
||||
var b = ["hello", ...a, true];
|
||||
>b : (string | number | boolean)[]
|
||||
>["hello", ...a, true] : (string | number | boolean)[]
|
||||
>a : number[]
|
||||
|
||||
var b: (string | number | boolean)[];
|
||||
>b : (string | number | boolean)[]
|
||||
}
|
||||
|
||||
function f2() {
|
||||
>f2 : () => void
|
||||
|
||||
var a = [...[...[...[...[...[]]]]]];
|
||||
>a : any[]
|
||||
>[...[...[...[...[...[]]]]]] : undefined[]
|
||||
>[...[...[...[...[]]]]] : undefined[]
|
||||
>[...[...[...[]]]] : undefined[]
|
||||
>[...[...[]]] : undefined[]
|
||||
>[...[]] : undefined[]
|
||||
>[] : undefined[]
|
||||
|
||||
var b = [...[...[...[...[...[5]]]]]];
|
||||
>b : number[]
|
||||
>[...[...[...[...[...[5]]]]]] : number[]
|
||||
>[...[...[...[...[5]]]]] : number[]
|
||||
>[...[...[...[5]]]] : number[]
|
||||
>[...[...[5]]] : number[]
|
||||
>[...[5]] : number[]
|
||||
>[5] : number[]
|
||||
}
|
||||
|
|
@ -176,7 +176,7 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9):
|
|||
f17({ c: true });
|
||||
f17(f15());
|
||||
|
||||
function g4() {
|
||||
function f18() {
|
||||
var a: number;
|
||||
var b: string;
|
||||
var aa: number[];
|
||||
|
@ -191,7 +191,7 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9):
|
|||
[a = 1, b = "abc"] = [2, "def"];
|
||||
}
|
||||
|
||||
function g5() {
|
||||
function f19() {
|
||||
var a, b;
|
||||
[a, b] = [1, 2];
|
||||
[a, b] = [b, a];
|
||||
|
@ -200,3 +200,33 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9):
|
|||
var x = ([a, b] = [1, 2]);
|
||||
}
|
||||
|
||||
function f20() {
|
||||
var a: number[];
|
||||
var x: number;
|
||||
var y: number;
|
||||
var z: number;
|
||||
var [...a] = [1, 2, 3];
|
||||
var [x, ...a] = [1, 2, 3];
|
||||
var [x, y, ...a] = [1, 2, 3];
|
||||
var [x, y, z, ...a] = [1, 2, 3];
|
||||
[...a] = [1, 2, 3];
|
||||
[x, ...a] = [1, 2, 3];
|
||||
[x, y, ...a] = [1, 2, 3];
|
||||
[x, y, z, ...a] = [1, 2, 3];
|
||||
}
|
||||
|
||||
function f21() {
|
||||
var a: (number | string | boolean)[];
|
||||
var x: number | string | boolean;
|
||||
var y: number | string | boolean;
|
||||
var z: number | string | boolean;
|
||||
var [...a] = [1, "hello", true];
|
||||
var [x, ...a] = [1, "hello", true];
|
||||
var [x, y, ...a] = [1, "hello", true];
|
||||
var [x, y, z, ...a] = [1, "hello", true];
|
||||
[...a] = [1, "hello", true];
|
||||
[x, ...a] = [1, "hello", true];
|
||||
[x, y, ...a] = [1, "hello", true];
|
||||
[x, y, z, ...a] = [1, "hello", true];
|
||||
}
|
||||
|
|
@ -129,7 +129,7 @@ f17({ a: "hello" });
|
|||
f17({ c: true });
|
||||
f17(f15());
|
||||
|
||||
function g4() {
|
||||
function f18() {
|
||||
var a: number;
|
||||
var b: string;
|
||||
var aa: number[];
|
||||
|
@ -140,7 +140,7 @@ function g4() {
|
|||
[a = 1, b = "abc"] = [2, "def"];
|
||||
}
|
||||
|
||||
function g5() {
|
||||
function f19() {
|
||||
var a, b;
|
||||
[a, b] = [1, 2];
|
||||
[a, b] = [b, a];
|
||||
|
@ -149,6 +149,36 @@ function g5() {
|
|||
var x = ([a, b] = [1, 2]);
|
||||
}
|
||||
|
||||
function f20() {
|
||||
var a: number[];
|
||||
var x: number;
|
||||
var y: number;
|
||||
var z: number;
|
||||
var [...a] = [1, 2, 3];
|
||||
var [x, ...a] = [1, 2, 3];
|
||||
var [x, y, ...a] = [1, 2, 3];
|
||||
var [x, y, z, ...a] = [1, 2, 3];
|
||||
[...a] = [1, 2, 3];
|
||||
[x, ...a] = [1, 2, 3];
|
||||
[x, y, ...a] = [1, 2, 3];
|
||||
[x, y, z, ...a] = [1, 2, 3];
|
||||
}
|
||||
|
||||
function f21() {
|
||||
var a: (number | string | boolean)[];
|
||||
var x: number | string | boolean;
|
||||
var y: number | string | boolean;
|
||||
var z: number | string | boolean;
|
||||
var [...a] = [1, "hello", true];
|
||||
var [x, ...a] = [1, "hello", true];
|
||||
var [x, y, ...a] = [1, "hello", true];
|
||||
var [x, y, z, ...a] = [1, "hello", true];
|
||||
[...a] = [1, "hello", true];
|
||||
[x, ...a] = [1, "hello", true];
|
||||
[x, y, ...a] = [1, "hello", true];
|
||||
[x, y, z, ...a] = [1, "hello", true];
|
||||
}
|
||||
|
||||
|
||||
//// [declarationsAndAssignments.js]
|
||||
function f0() {
|
||||
|
@ -266,7 +296,7 @@ f17({});
|
|||
f17({ a: "hello" });
|
||||
f17({ c: true });
|
||||
f17(f15());
|
||||
function g4() {
|
||||
function f18() {
|
||||
var a;
|
||||
var b;
|
||||
var aa;
|
||||
|
@ -277,7 +307,7 @@ function g4() {
|
|||
_e = [2, "def"], _f = _e[0], a = _f === void0 ? 1 : _f, _g = _e[1], b = _g === void0 ? "abc" : _g;
|
||||
var _a, _b, _c, _d, _e, _f, _g;
|
||||
}
|
||||
function g5() {
|
||||
function f19() {
|
||||
var a, b;
|
||||
_a = [1, 2], a = _a[0], b = _a[1];
|
||||
_b = [b, a], a = _b[0], b = _b[1];
|
||||
|
@ -286,3 +316,33 @@ function g5() {
|
|||
var x = (_f = [1, 2], a = _f[0], b = _f[1], _f);
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
}
|
||||
function f20() {
|
||||
var a;
|
||||
var x;
|
||||
var y;
|
||||
var z;
|
||||
var _a = [1, 2, 3], a = _a.slice(0);
|
||||
var _b = [1, 2, 3], x = _b[0], a = _b.slice(1);
|
||||
var _c = [1, 2, 3], x = _c[0], y = _c[1], a = _c.slice(2);
|
||||
var _d = [1, 2, 3], x = _d[0], y = _d[1], z = _d[2], a = _d.slice(3);
|
||||
_e = [1, 2, 3], a = _e.slice(0);
|
||||
_f = [1, 2, 3], x = _f[0], a = _f.slice(1);
|
||||
_g = [1, 2, 3], x = _g[0], y = _g[1], a = _g.slice(2);
|
||||
_h = [1, 2, 3], x = _h[0], y = _h[1], z = _h[2], a = _h.slice(3);
|
||||
var _e, _f, _g, _h;
|
||||
}
|
||||
function f21() {
|
||||
var a;
|
||||
var x;
|
||||
var y;
|
||||
var z;
|
||||
var _a = [1, "hello", true], a = _a.slice(0);
|
||||
var _b = [1, "hello", true], x = _b[0], a = _b.slice(1);
|
||||
var _c = [1, "hello", true], x = _c[0], y = _c[1], a = _c.slice(2);
|
||||
var _d = [1, "hello", true], x = _d[0], y = _d[1], z = _d[2], a = _d.slice(3);
|
||||
_e = [1, "hello", true], a = _e.slice(0);
|
||||
_f = [1, "hello", true], x = _f[0], a = _f.slice(1);
|
||||
_g = [1, "hello", true], x = _g[0], y = _g[1], a = _g.slice(2);
|
||||
_h = [1, "hello", true], x = _h[0], y = _h[1], z = _h[2], a = _h.slice(3);
|
||||
var _e, _f, _g, _h;
|
||||
}
|
||||
|
|
12
tests/baselines/reference/restElementMustBeLast.errors.txt
Normal file
12
tests/baselines/reference/restElementMustBeLast.errors.txt
Normal file
|
@ -0,0 +1,12 @@
|
|||
tests/cases/conformance/es6/destructuring/restElementMustBeLast.ts(1,9): error TS2462: A rest element must be last in an array destructuring pattern
|
||||
tests/cases/conformance/es6/destructuring/restElementMustBeLast.ts(2,2): error TS2462: A rest element must be last in an array destructuring pattern
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/destructuring/restElementMustBeLast.ts (2 errors) ====
|
||||
var [...a, x] = [1, 2, 3]; // Error, rest must be last element
|
||||
~
|
||||
!!! error TS2462: A rest element must be last in an array destructuring pattern
|
||||
[...a, x] = [1, 2, 3]; // Error, rest must be last element
|
||||
~~~~
|
||||
!!! error TS2462: A rest element must be last in an array destructuring pattern
|
||||
|
|
@ -128,7 +128,7 @@ f17({ a: "hello" });
|
|||
f17({ c: true });
|
||||
f17(f15());
|
||||
|
||||
function g4() {
|
||||
function f18() {
|
||||
var a: number;
|
||||
var b: string;
|
||||
var aa: number[];
|
||||
|
@ -139,7 +139,7 @@ function g4() {
|
|||
[a = 1, b = "abc"] = [2, "def"];
|
||||
}
|
||||
|
||||
function g5() {
|
||||
function f19() {
|
||||
var a, b;
|
||||
[a, b] = [1, 2];
|
||||
[a, b] = [b, a];
|
||||
|
@ -147,3 +147,33 @@ function g5() {
|
|||
[[a, b] = [1, 2]] = [[2, 3]];
|
||||
var x = ([a, b] = [1, 2]);
|
||||
}
|
||||
|
||||
function f20() {
|
||||
var a: number[];
|
||||
var x: number;
|
||||
var y: number;
|
||||
var z: number;
|
||||
var [...a] = [1, 2, 3];
|
||||
var [x, ...a] = [1, 2, 3];
|
||||
var [x, y, ...a] = [1, 2, 3];
|
||||
var [x, y, z, ...a] = [1, 2, 3];
|
||||
[...a] = [1, 2, 3];
|
||||
[x, ...a] = [1, 2, 3];
|
||||
[x, y, ...a] = [1, 2, 3];
|
||||
[x, y, z, ...a] = [1, 2, 3];
|
||||
}
|
||||
|
||||
function f21() {
|
||||
var a: (number | string | boolean)[];
|
||||
var x: number | string | boolean;
|
||||
var y: number | string | boolean;
|
||||
var z: number | string | boolean;
|
||||
var [...a] = [1, "hello", true];
|
||||
var [x, ...a] = [1, "hello", true];
|
||||
var [x, y, ...a] = [1, "hello", true];
|
||||
var [x, y, z, ...a] = [1, "hello", true];
|
||||
[...a] = [1, "hello", true];
|
||||
[x, ...a] = [1, "hello", true];
|
||||
[x, y, ...a] = [1, "hello", true];
|
||||
[x, y, z, ...a] = [1, "hello", true];
|
||||
}
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
var [...a, x] = [1, 2, 3]; // Error, rest must be last element
|
||||
[...a, x] = [1, 2, 3]; // Error, rest must be last element
|
22
tests/cases/conformance/es6/spread/arrayLiteralSpread.ts
Normal file
22
tests/cases/conformance/es6/spread/arrayLiteralSpread.ts
Normal file
|
@ -0,0 +1,22 @@
|
|||
function f0() {
|
||||
var a = [1, 2, 3];
|
||||
var a1 = [...a];
|
||||
var a2 = [1, ...a];
|
||||
var a3 = [1, 2, ...a];
|
||||
var a4 = [...a, 1];
|
||||
var a5 = [...a, 1, 2];
|
||||
var a6 = [1, 2, ...a, 1, 2];
|
||||
var a7 = [1, ...a, 2, ...a];
|
||||
var a8 = [...a, ...a, ...a];
|
||||
}
|
||||
|
||||
function f1() {
|
||||
var a = [1, 2, 3];
|
||||
var b = ["hello", ...a, true];
|
||||
var b: (string | number | boolean)[];
|
||||
}
|
||||
|
||||
function f2() {
|
||||
var a = [...[...[...[...[...[]]]]]];
|
||||
var b = [...[...[...[...[...[5]]]]]];
|
||||
}
|
Loading…
Reference in a new issue