Skip to content

Commit 8630396

Browse files
committed
update test
1 parent 3678cf4 commit 8630396

File tree

5 files changed

+315
-343
lines changed

5 files changed

+315
-343
lines changed

tests/baselines/reference/declarationsAndAssignments.errors.txt

Lines changed: 27 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,9 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(106,5):
2323
Property 'x' is missing in type '{ y: false; }'.
2424
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,6): error TS2322: Type 'string' is not assignable to type 'number'.
2525
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assignable to type 'string'.
26-
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(158,16): error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'number[]', but here has type '[number, number]'.
27-
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(159,19): error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'number[]', but here has type '[number]'.
28-
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(160,22): error TS2403: Subsequent variable declarations must have the same type. Variable 'a3' must be of type 'any[]', but here has type '[]'.
29-
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(176,16): error TS2403: Subsequent variable declarations must have the same type. Variable 'a1' must be of type '(string | boolean)[]', but here has type '[string, boolean]'.
30-
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(177,19): error TS2403: Subsequent variable declarations must have the same type. Variable 'a2' must be of type 'boolean[]', but here has type '[boolean]'.
31-
tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(178,22): error TS2403: Subsequent variable declarations must have the same type. Variable 'a3' must be of type 'any[]', but here has type '[]'.
3226

3327

34-
==== tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts (28 errors) ====
28+
==== tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts (22 errors) ====
3529
function f0() {
3630
var [] = [1, "hello"];
3731
var [x] = [1, "hello"];
@@ -229,49 +223,39 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(178,22):
229223
var x = ([a, b] = [1, 2]);
230224
}
231225

232-
function f20() {
226+
function f20(v: [number, number, number]) {
233227
var x: number;
234228
var y: number;
235229
var z: number;
236-
var a: number[];
237-
var a3: any[];
238-
var [...a] = [1, 2, 3];
239-
var [x, ...a] = [1, 2, 3];
240-
~
241-
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'number[]', but here has type '[number, number]'.
242-
var [x, y, ...a] = [1, 2, 3];
243-
~
244-
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'number[]', but here has type '[number]'.
245-
var [x, y, z, ...a3] = [1, 2, 3];
246-
~~
247-
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a3' must be of type 'any[]', but here has type '[]'.
248-
[...a] = [1, 2, 3];
249-
[x, ...a] = [1, 2, 3];
250-
[x, y, ...a] = [1, 2, 3];
251-
[x, y, z, ...a3] = [1, 2, 3];
230+
var a0: [];
231+
var a1: [number];
232+
var a2: [number, number];
233+
var a3: [number, number, number];
234+
var [...a3] = v;
235+
var [x, ...a2] = v;
236+
var [x, y, ...a1] = v;
237+
var [x, y, z, ...a0] = v;
238+
[...a3] = v;
239+
[x, ...a2] = v;
240+
[x, y, ...a1] = v;
241+
[x, y, z, ...a0] = v;
252242
}
253243

254-
function f21() {
244+
function f21(v: [number, string, boolean]) {
255245
var x: number;
256246
var y: string;
257247
var z: boolean;
258-
var a0: (number | string | boolean)[];
259-
var a1: (string | boolean)[];
260-
var a2: boolean[];
261-
var a3: any[];
262-
var [...a0] = [1, "hello", true];
263-
var [x, ...a1] = [1, "hello", true];
264-
~~
265-
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a1' must be of type '(string | boolean)[]', but here has type '[string, boolean]'.
266-
var [x, y, ...a2] = [1, "hello", true];
267-
~~
268-
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a2' must be of type 'boolean[]', but here has type '[boolean]'.
269-
var [x, y, z, ...a3] = [1, "hello", true];
270-
~~
271-
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a3' must be of type 'any[]', but here has type '[]'.
272-
[...a0] = [1, "hello", true];
273-
[x, ...a1] = [1, "hello", true];
274-
[x, y, ...a2] = [1, "hello", true];
275-
[x, y, z, ...a3] = [1, "hello", true];
248+
var a0: [number, string, boolean];
249+
var a1: [string, boolean];
250+
var a2: [boolean];
251+
var a3: [];
252+
var [...a0] = v;
253+
var [x, ...a1] = v;
254+
var [x, y, ...a2] = v;
255+
var [x, y, z, ...a3] = v;
256+
[...a0] = v;
257+
[x, ...a1] = v;
258+
[x, y, ...a2] = v;
259+
[x, y, z, ...a3] = v;
276260
}
277261

tests/baselines/reference/declarationsAndAssignments.js

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -149,38 +149,40 @@ function f19() {
149149
var x = ([a, b] = [1, 2]);
150150
}
151151

152-
function f20() {
152+
function f20(v: [number, number, number]) {
153153
var x: number;
154154
var y: number;
155155
var z: number;
156-
var a: number[];
157-
var a3: any[];
158-
var [...a] = [1, 2, 3];
159-
var [x, ...a] = [1, 2, 3];
160-
var [x, y, ...a] = [1, 2, 3];
161-
var [x, y, z, ...a3] = [1, 2, 3];
162-
[...a] = [1, 2, 3];
163-
[x, ...a] = [1, 2, 3];
164-
[x, y, ...a] = [1, 2, 3];
165-
[x, y, z, ...a3] = [1, 2, 3];
156+
var a0: [];
157+
var a1: [number];
158+
var a2: [number, number];
159+
var a3: [number, number, number];
160+
var [...a3] = v;
161+
var [x, ...a2] = v;
162+
var [x, y, ...a1] = v;
163+
var [x, y, z, ...a0] = v;
164+
[...a3] = v;
165+
[x, ...a2] = v;
166+
[x, y, ...a1] = v;
167+
[x, y, z, ...a0] = v;
166168
}
167169

168-
function f21() {
170+
function f21(v: [number, string, boolean]) {
169171
var x: number;
170172
var y: string;
171173
var z: boolean;
172-
var a0: (number | string | boolean)[];
173-
var a1: (string | boolean)[];
174-
var a2: boolean[];
175-
var a3: any[];
176-
var [...a0] = [1, "hello", true];
177-
var [x, ...a1] = [1, "hello", true];
178-
var [x, y, ...a2] = [1, "hello", true];
179-
var [x, y, z, ...a3] = [1, "hello", true];
180-
[...a0] = [1, "hello", true];
181-
[x, ...a1] = [1, "hello", true];
182-
[x, y, ...a2] = [1, "hello", true];
183-
[x, y, z, ...a3] = [1, "hello", true];
174+
var a0: [number, string, boolean];
175+
var a1: [string, boolean];
176+
var a2: [boolean];
177+
var a3: [];
178+
var [...a0] = v;
179+
var [x, ...a1] = v;
180+
var [x, y, ...a2] = v;
181+
var [x, y, z, ...a3] = v;
182+
[...a0] = v;
183+
[x, ...a1] = v;
184+
[x, y, ...a2] = v;
185+
[x, y, z, ...a3] = v;
184186
}
185187

186188

@@ -320,37 +322,37 @@ function f19() {
320322
_d = [[2, 3]][0], _e = _d === void 0 ? [1, 2] : _d, a = _e[0], b = _e[1];
321323
var x = (_f = [1, 2], a = _f[0], b = _f[1], _f);
322324
}
323-
function f20() {
324-
var _a, _b, _c;
325+
function f20(v) {
325326
var x;
326327
var y;
327328
var z;
328-
var a;
329+
var a0;
330+
var a1;
331+
var a2;
329332
var a3;
330-
var a = [1, 2, 3].slice(0);
331-
var _d = [1, 2, 3], x = _d[0], a = _d.slice(1);
332-
var _e = [1, 2, 3], x = _e[0], y = _e[1], a = _e.slice(2);
333-
var _f = [1, 2, 3], x = _f[0], y = _f[1], z = _f[2], a3 = _f.slice(3);
334-
a = [1, 2, 3].slice(0);
335-
_a = [1, 2, 3], x = _a[0], a = _a.slice(1);
336-
_b = [1, 2, 3], x = _b[0], y = _b[1], a = _b.slice(2);
337-
_c = [1, 2, 3], x = _c[0], y = _c[1], z = _c[2], a3 = _c.slice(3);
333+
var a3 = v.slice(0);
334+
var x = v[0], a2 = v.slice(1);
335+
var x = v[0], y = v[1], a1 = v.slice(2);
336+
var x = v[0], y = v[1], z = v[2], a0 = v.slice(3);
337+
a3 = v.slice(0);
338+
x = v[0], a2 = v.slice(1);
339+
x = v[0], y = v[1], a1 = v.slice(2);
340+
x = v[0], y = v[1], z = v[2], a0 = v.slice(3);
338341
}
339-
function f21() {
340-
var _a, _b, _c;
342+
function f21(v) {
341343
var x;
342344
var y;
343345
var z;
344346
var a0;
345347
var a1;
346348
var a2;
347349
var a3;
348-
var a0 = [1, "hello", true].slice(0);
349-
var _d = [1, "hello", true], x = _d[0], a1 = _d.slice(1);
350-
var _e = [1, "hello", true], x = _e[0], y = _e[1], a2 = _e.slice(2);
351-
var _f = [1, "hello", true], x = _f[0], y = _f[1], z = _f[2], a3 = _f.slice(3);
352-
a0 = [1, "hello", true].slice(0);
353-
_a = [1, "hello", true], x = _a[0], a1 = _a.slice(1);
354-
_b = [1, "hello", true], x = _b[0], y = _b[1], a2 = _b.slice(2);
355-
_c = [1, "hello", true], x = _c[0], y = _c[1], z = _c[2], a3 = _c.slice(3);
350+
var a0 = v.slice(0);
351+
var x = v[0], a1 = v.slice(1);
352+
var x = v[0], y = v[1], a2 = v.slice(2);
353+
var x = v[0], y = v[1], z = v[2], a3 = v.slice(3);
354+
a0 = v.slice(0);
355+
x = v[0], a1 = v.slice(1);
356+
x = v[0], y = v[1], a2 = v.slice(2);
357+
x = v[0], y = v[1], z = v[2], a3 = v.slice(3);
356358
}

0 commit comments

Comments
 (0)