Add spread tests and update rest tests

This commit is contained in:
Nathan Shively-Sanders 2016-11-14 16:23:40 -08:00
parent 6f274eaabe
commit fe66d9ef9f
3 changed files with 35 additions and 1 deletions

View file

@ -1,5 +1,5 @@
// @target: es2015
let o = { a: 1, b: 'no' }
var o = { a: 1, b: 'no' }
var { ...clone } = o;
var { a, ...justB } = o;
var { a, b: renamed, ...empty } = o;
@ -31,3 +31,8 @@ class Removable {
}
var removable = new Removable();
var { removed, ...removableRest } = removable;
let computed = 'b';
let computed2 = 'a';
var { [computed]: stillNotGreat, [computed2]: soSo, ...o } = o;
({ [computed]: stillNotGreat, [computed2]: soSo, ...o } = o);

View file

@ -0,0 +1,9 @@
// fixes #12200
function f() {
let n: number = 12;
let m: number = 13;
let a: any = null;
const o1 = { ...{}, [n]: n };
const o2 = { ...{}, [a]: n };
const o3 = { [a]: n, ...{}, [n]: n, ...{}, [m]: m };
}

View file

@ -0,0 +1,20 @@
/// <reference path='fourslash.ts'/>
////interface A1 { a: number };
////interface A2 { a?: number };
////let [|a1|]: A1;
////let [|a2|]: A2;
////let a12 = { ...[|a1|], ...[|a2|] };
const ranges = test.ranges();
verify.assertHasRanges(ranges);
// rename a1
goTo.position(ranges[0].start);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[2]]);
goTo.position(ranges[2].start);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[2]]);
// rename a2
goTo.position(ranges[1].start);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[1], ranges[3]]);
goTo.position(ranges[3].start);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[1], ranges[3]]);