Take optional texts to verify parameter for rangesWithSameTextAreRenameLocations

This commit is contained in:
Sheetal Nandi 2019-06-05 13:45:03 -07:00
parent 35c049949f
commit edffcce785
53 changed files with 70 additions and 126 deletions

View File

@ -2720,8 +2720,13 @@ Actual: ${stringify(fullActual)}`);
}
}
public verifyRangesWithSameTextAreRenameLocations() {
this.rangesByText().forEach(ranges => this.verifyRangesAreRenameLocations(ranges));
public verifyRangesWithSameTextAreRenameLocations(...texts: string[]) {
if (texts.length) {
texts.forEach(text => this.verifyRangesAreRenameLocations(this.rangesByText().get(text)!));
}
else {
this.rangesByText().forEach(ranges => this.verifyRangesAreRenameLocations(ranges));
}
}
public verifyRangesWithSameTextAreDocumentHighlights() {
@ -4088,8 +4093,8 @@ namespace FourSlashInterface {
this.state.verifyRangesAreOccurrences(isWriteAccess, ranges);
}
public rangesWithSameTextAreRenameLocations() {
this.state.verifyRangesWithSameTextAreRenameLocations();
public rangesWithSameTextAreRenameLocations(...texts: string[]) {
this.state.verifyRangesWithSameTextAreRenameLocations(...texts);
}
public rangesAreRenameLocations(options?: FourSlash.Range[] | { findInStrings?: boolean, findInComments?: boolean, ranges?: FourSlash.Range[] }) {

View File

@ -1,14 +1,14 @@
/// <reference path="fourslash.ts" />
//@Filename: a.ts
////export class [|{| "isWriteAccess": true, "isDefinition": true |}Class|] {}
////[|export class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}Class|] {}|]
//@Filename: b.ts
////import { [|Class|] as [|{| "isWriteAccess": true, "isDefinition": true |}C2|] } from "./a";
////[|import { [|{| "declarationRangeIndex": 2 |}Class|] as [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}C2|] } from "./a";|]
////var c = new [|C2|]();
//@Filename: c.ts
////export { [|Class|] as [|{| "isWriteAccess": true, "isDefinition": true |}C3|] } from "./a";
////[|export { [|{| "declarationRangeIndex": 6 |}Class|] as [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 6 |}C3|] } from "./a";|]
const ranges = test.rangesByText();
const classRanges = ranges.get("Class");
@ -26,4 +26,4 @@ verify.referenceGroups(c2Ranges, [c2s])
verify.referenceGroups(c3Ranges, [c3s]);
verify.rangesWithSameTextAreRenameLocations();
verify.rangesWithSameTextAreRenameLocations("Class", "C2", "C3");

View File

@ -229,7 +229,7 @@ declare namespace FourSlashInterface {
referenceGroups(starts: ArrayOrSingle<string> | ArrayOrSingle<Range>, parts: ReadonlyArray<ReferenceGroup>): void;
singleReferenceGroup(definition: ReferencesDefinition, ranges?: Range[]): void;
rangesAreOccurrences(isWriteAccess?: boolean, ranges?: Range[]): void;
rangesWithSameTextAreRenameLocations(): void;
rangesWithSameTextAreRenameLocations(...texts: string[]): void;
rangesAreRenameLocations(options?: Range[] | { findInStrings?: boolean, findInComments?: boolean, ranges?: Range[] });
findReferencesDefinitionDisplayPartsAtCaretAre(expected: ts.SymbolDisplayPart[]): void;
noSignatureHelp(...markers: string[]): void;

View File

@ -14,4 +14,4 @@
//// var x = new Foo();
//// x.[|union|];
verify.rangesAreRenameLocations(test.rangesByText().get("union"));
verify.rangesWithSameTextAreRenameLocations("union");

View File

@ -18,5 +18,4 @@
//// var x = <MyClass {...[|n/*src*/n|]}></MyClass>;
verify.goToDefinition("src", "dst");
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("nn");

View File

@ -11,5 +11,4 @@
/////// <reference path="a.ts" />
////[|x|]++;
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("x");

View File

@ -4,5 +4,4 @@
////[|import [|{| "declarationRangeIndex": 0 |}M|] = SomeModule;|]
////import C = [|M|].SomeClass;
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("M");

View File

@ -4,5 +4,4 @@
////import M = [|SomeModule|];
////import C = M.SomeClass;
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("SomeModule");

View File

@ -4,5 +4,4 @@
////import M = SomeModule;
////import C = M.[|SomeClass|];
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("SomeClass");

View File

@ -8,5 +8,4 @@
////[|import [|{| "declarationRangeIndex": 0 |}M|] = require("./a");|]
////import C = [|M|].SomeClass;
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("M");

View File

@ -8,5 +8,4 @@
////import M = require("./a");
////import C = M.[|SomeClass|];
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("SomeClass");

View File

@ -7,5 +7,4 @@
//// "this is a reference to Bar in a string"
////}|]
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("Bar");

View File

@ -55,4 +55,4 @@
//// set ["prop2"](v) { }
////};
verify.rangesAreRenameLocations(test.rangesByText().get("prop1"));
verify.rangesWithSameTextAreRenameLocations("prop1");

View File

@ -55,4 +55,4 @@
//// [|set ["[|{| "declarationRangeIndex": 20 |}prop2|]"](v) { }|]
////};
verify.rangesAreRenameLocations(test.rangesByText().get("prop2"));
verify.rangesWithSameTextAreRenameLocations("prop2");

View File

@ -7,4 +7,4 @@
////var x;
////([|{ [|{| "declarationRangeIndex": 2 |}x|]: x } = a|]);
verify.rangesAreRenameLocations(test.rangesByText().get("x"));
verify.rangesWithSameTextAreRenameLocations("x");

View File

@ -33,7 +33,4 @@ verify.referenceGroups(oRanges, [os, ps, qs]);
verify.referenceGroups(pRanges, [ps, qs]);
verify.referenceGroups(qRanges, [qs]);
verify.rangesAreRenameLocations(nRanges);
verify.rangesAreRenameLocations(oRanges);
verify.rangesAreRenameLocations(pRanges);
verify.rangesAreRenameLocations(qRanges);
verify.rangesWithSameTextAreRenameLocations("N", "O", "P", "Q");

View File

@ -7,5 +7,4 @@
//// var v: class1;
//// v.[|propName|];
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("propName");

View File

@ -7,5 +7,4 @@
//// var v: class1;
//// v.[|doStuff|]();
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("doStuff");

View File

@ -7,5 +7,4 @@
//// var v: interface1;
//// v.[|propName|];
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("propName");

View File

@ -7,5 +7,4 @@
//// var v: interface1;
//// v.[|doStuff|]();
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("doStuff");

View File

@ -9,6 +9,5 @@
//// var d: D;
//// d.[|propD|];
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("propD");

View File

@ -9,5 +9,4 @@
//// var d: D;
//// d.[|propC|];
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("propC");

View File

@ -11,5 +11,4 @@
//// var c: C;
//// c.[|prop1|];
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("prop1");

View File

@ -11,4 +11,4 @@
//// var c: C;
//// c.[|prop1|];
verify.rangesAreRenameLocations(test.rangesByText().get("prop1"));
verify.rangesWithSameTextAreRenameLocations("prop1");

View File

@ -7,5 +7,4 @@
////[|bar.[|{| "declarationRangeIndex": 0 |}foo|] = "foo";|]
////console.log(bar.[|foo|]);
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("foo");

View File

@ -7,5 +7,4 @@
////[|Minimatch.[|{| "declarationRangeIndex": 0 |}staticProperty|] = "string";|]
////console.log(Minimatch.[|staticProperty|]);
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("staticProperty");

View File

@ -7,5 +7,4 @@
////[|C.[|{| "declarationRangeIndex": 0 |}staticProperty|] = "string";|]
////console.log(C.[|staticProperty|]);
const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations(ranges);
verify.rangesWithSameTextAreRenameLocations("staticProperty");

View File

@ -8,5 +8,4 @@
////var t = new bar();
////[|t.[|{| "declarationRangeIndex": 2 |}x|] = 11;|]
const [r0Def, r0, r1Def, r1] = test.ranges();
verify.rangesAreRenameLocations([r0, r1]);
verify.rangesWithSameTextAreRenameLocations("x");

View File

@ -8,5 +8,4 @@
////var t = new bar();
////[|t.[|{| "declarationRangeIndex": 2 |}x|] = 11;|]
const [r0Def, r0, r1Def, r1] = test.ranges();
verify.rangesAreRenameLocations([r0, r1]);
verify.rangesWithSameTextAreRenameLocations("x");

View File

@ -8,5 +8,4 @@
////var t = new bar();
////[|t.[|{| "declarationRangeIndex": 2 |}x|] = 11;|]
const [r0Def, r0, r1Def, r1] = test.ranges();
verify.rangesAreRenameLocations([r0, r1]);
verify.rangesWithSameTextAreRenameLocations("x");

View File

@ -10,5 +10,4 @@
////var t = new C(12);
////[|t.[|{| "declarationRangeIndex": 2 |}x|] = 11;|]
const [rDef, r0, r1Def, r1] = test.ranges();
verify.rangesAreRenameLocations([r0, r1]);
verify.rangesWithSameTextAreRenameLocations("x");

View File

@ -11,5 +11,4 @@
////var t = new C(12);
////[|t.[|{| "declarationRangeIndex": 2 |}z|] = 11;|]
const [r0Def, r0, r1Def, r1] = test.ranges();
verify.rangesAreRenameLocations([r0, r1]);
verify.rangesWithSameTextAreRenameLocations("z");

View File

@ -11,5 +11,4 @@
////var t = new C(12);
////[|t.[|{| "declarationRangeIndex": 2 |}z|] = 11;|]
const [r0Def, r0, r1Def, r1] = test.ranges();
verify.rangesAreRenameLocations([r0, r1]);
verify.rangesWithSameTextAreRenameLocations("z");

View File

@ -20,5 +20,4 @@
////}
////var z = class Foo {}
const [rDef, ...rest] = test.ranges();
verify.rangesAreRenameLocations(rest);
verify.rangesWithSameTextAreRenameLocations("Foo");

View File

@ -4,5 +4,4 @@
//// [|f|]([|f|], g);
////}|]
const [rDef, ...rest] = test.ranges();
verify.rangesAreRenameLocations(rest);
verify.rangesWithSameTextAreRenameLocations("f");

View File

@ -10,5 +10,4 @@
//// let foo = () => [|f|]([|f|], g);
////}|]
const [rDef, ...rest] = test.ranges();
verify.rangesAreRenameLocations(rest);
verify.rangesWithSameTextAreRenameLocations("f");

View File

@ -9,4 +9,4 @@
////[|var { [|{| "declarationRangeIndex": 2 |}property1|]: prop1 } = foo;|]
verify.rangesAreRenameLocations(test.rangesByText().get("property1"));
verify.rangesWithSameTextAreRenameLocations("property1");

View File

@ -7,5 +7,4 @@
//// }
//// }
const [rDef, ...rest] = test.ranges();
verify.rangesAreRenameLocations(rest);
verify.rangesWithSameTextAreRenameLocations("privateParam");

View File

@ -7,5 +7,4 @@
//// }
//// }
const [rDef, ...rest] = test.ranges();
verify.rangesAreRenameLocations(rest);
verify.rangesWithSameTextAreRenameLocations("publicParam");

View File

@ -7,5 +7,4 @@
//// }
//// }
const [rDef, ...rest] = test.ranges();
verify.rangesAreRenameLocations(rest);
verify.rangesWithSameTextAreRenameLocations("protectedParam");

View File

@ -6,5 +6,4 @@
//// }
//// }
const [rDef, ...rest] = test.ranges();
verify.rangesAreRenameLocations(rest);
verify.rangesWithSameTextAreRenameLocations("protectedParam");

View File

@ -7,5 +7,4 @@
//// class C extends (foo()).[|B|] {}
//// class C1 extends foo().[|B|] {}
const ranges = test.rangesByText();
verify.rangesAreRenameLocations(ranges.get("B"));
verify.rangesWithSameTextAreRenameLocations("B");

View File

@ -8,6 +8,4 @@
////var { x, ...rest } = t;
////rest.[|parent|];
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("parent"));
verify.rangesWithSameTextAreRenameLocations("parent");

View File

@ -12,5 +12,4 @@
////o['[|prop|]'];
////o.[|prop|];
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("prop"));
verify.rangesWithSameTextAreRenameLocations("prop");

View File

@ -10,5 +10,4 @@
//// /// <reference path="0.d.ts" />
//// [|myLib|].doThing();
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("myLib"));
verify.rangesWithSameTextAreRenameLocations("myLib");

View File

@ -12,5 +12,4 @@
//// }
//// }
//// var x = <[|div|] />;
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("div"));
verify.rangesWithSameTextAreRenameLocations("div");

View File

@ -13,5 +13,4 @@
//// }
//// var x = <div [|[|{| "declarationRangeIndex": 2 |}name|]="hello"|] />;
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("name"));
verify.rangesWithSameTextAreRenameLocations("name");

View File

@ -16,5 +16,4 @@
////
//// var x = <MyClass [|[|{| "declarationRangeIndex": 2 |}name|]='hello'|]/>;
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("name"));
verify.rangesWithSameTextAreRenameLocations("name");

View File

@ -17,7 +17,4 @@
////<[|div|]> </[|div|]>
verify.noErrors();
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("MyClass"));
verify.rangesAreRenameLocations(rangesByText.get("div"));
verify.rangesWithSameTextAreRenameLocations("MyClass", "div");

View File

@ -16,5 +16,4 @@
//// [|var [|{| "declarationRangeIndex": 0 |}nn|]: string;|]
//// var x = <MyClass name={[|nn|]}></MyClass>;
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("nn"));
verify.rangesWithSameTextAreRenameLocations("nn");

View File

@ -22,6 +22,4 @@
//// let opt3 = <[|Opt|] wrong />;
//// let opt4 = <[|Opt|] propx={100} propString="hi" />;
//verify.rangesAreRenameLocations();
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("Opt"));
verify.rangesWithSameTextAreRenameLocations("Opt");

View File

@ -21,5 +21,4 @@
//// let opt2 = <Opt [|[|{| "declarationRangeIndex": 4 |}propx|]={100}|] optional/>;
//// let opt3 = <Opt wrong />;
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("propx"));
verify.rangesWithSameTextAreRenameLocations("propx");

View File

@ -30,22 +30,10 @@
//// let opt = <[|MainButton|] [|[|{| "declarationRangeIndex": 20 |}goTo|]="goTo"|] />;
//// let opt = <[|MainButton|] [|wrong|] />;
const [
onClickDef_0, onClick_1,
goToDef_2, goTo_3,
mainButtonDef_4, mainButton_5,
mainButtonDef_6, mainButton_7,
mainButtonDef_8, mainButton_9,
mainButton_10,
mainButton_11,
mainButton_12, onClickDef_13, onClick_14,
mainButton_15, onClickDef_16, onClick_17, ignoreProp_18,
mainButton_19, goToDef_20, goTo_21,
mainButton_22, wrong_23
] = test.ranges();
const rangesByText = test.rangesByText();
verify.rangesAreRenameLocations(rangesByText.get("onClick"));
verify.rangesAreRenameLocations(rangesByText.get("goTo"));
verify.rangesAreRenameLocations(rangesByText.get("MainButton"));
verify.rangesAreRenameLocations(rangesByText.get("ignore-prop"));
verify.rangesAreRenameLocations(rangesByText.get("wrong"));
verify.rangesWithSameTextAreRenameLocations(
"onClick",
"goTo",
"MainButton",
"ignore-prop",
"wrong"
);