Skip to content

Commit fe66d9e

Browse files
committed
Add spread tests and update rest tests
1 parent 6f274ea commit fe66d9e

File tree

3 files changed

+35
-1
lines changed

3 files changed

+35
-1
lines changed

tests/cases/conformance/types/rest/objectRest.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// @target: es2015
2-
let o = { a: 1, b: 'no' }
2+
var o = { a: 1, b: 'no' }
33
var { ...clone } = o;
44
var { a, ...justB } = o;
55
var { a, b: renamed, ...empty } = o;
@@ -31,3 +31,8 @@ class Removable {
3131
}
3232
var removable = new Removable();
3333
var { removed, ...removableRest } = removable;
34+
35+
let computed = 'b';
36+
let computed2 = 'a';
37+
var { [computed]: stillNotGreat, [computed2]: soSo, ...o } = o;
38+
({ [computed]: stillNotGreat, [computed2]: soSo, ...o } = o);
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// fixes #12200
2+
function f() {
3+
let n: number = 12;
4+
let m: number = 13;
5+
let a: any = null;
6+
const o1 = { ...{}, [n]: n };
7+
const o2 = { ...{}, [a]: n };
8+
const o3 = { [a]: n, ...{}, [n]: n, ...{}, [m]: m };
9+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
////interface A1 { a: number };
4+
////interface A2 { a?: number };
5+
////let [|a1|]: A1;
6+
////let [|a2|]: A2;
7+
////let a12 = { ...[|a1|], ...[|a2|] };
8+
const ranges = test.ranges();
9+
verify.assertHasRanges(ranges);
10+
11+
// rename a1
12+
goTo.position(ranges[0].start);
13+
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[2]]);
14+
goTo.position(ranges[2].start);
15+
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[2]]);
16+
// rename a2
17+
goTo.position(ranges[1].start);
18+
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[1], ranges[3]]);
19+
goTo.position(ranges[3].start);
20+
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[1], ranges[3]]);

0 commit comments

Comments
 (0)