diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts
index 1afb6de2cf2..721647df0cd 100644
--- a/src/harness/fourslash.ts
+++ b/src/harness/fourslash.ts
@@ -372,8 +372,8 @@ namespace FourSlash {
}
// Entry points from fourslash.ts
- public goToMarker(name = "") {
- const marker = this.getMarkerByName(name);
+ public goToMarker(name: string | Marker = "") {
+ const marker = typeof name === "string" ? this.getMarkerByName(name) : name;
if (this.activeFile.fileName !== marker.fileName) {
this.openFile(marker.fileName);
}
@@ -382,10 +382,37 @@ namespace FourSlash {
if (marker.position === -1 || marker.position > content.length) {
throw new Error(`Marker "${name}" has been invalidated by unrecoverable edits to the file.`);
}
- this.lastKnownMarker = name;
+ const mName = typeof name === "string" ? name : this.markerName(marker);
+ this.lastKnownMarker = mName;
this.goToPosition(marker.position);
}
+ public goToEachMarker(action: () => void) {
+ const markers = this.getMarkers();
+ assert(markers.length);
+ for (const marker of markers) {
+ this.goToMarker(marker);
+ action();
+ }
+ }
+
+ public goToEachRange(action: () => void) {
+ const ranges = this.getRanges();
+ assert(ranges.length);
+ for (const range of ranges) {
+ this.goToRangeStart(range);
+ action();
+ }
+ }
+
+ private markerName(m: Marker): string {
+ return ts.forEachEntry(this.testData.markerPositions, (marker, name) => {
+ if (marker === m) {
+ return name;
+ }
+ })!;
+ }
+
public goToPosition(pos: number) {
this.currentCaretPosition = pos;
}
@@ -1668,7 +1695,7 @@ namespace FourSlash {
this.goToPosition(len);
}
- private goToRangeStart({fileName, start}: Range) {
+ public goToRangeStart({fileName, start}: Range) {
this.openFile(fileName);
this.goToPosition(start);
}
@@ -2365,6 +2392,21 @@ namespace FourSlash {
return this.languageService.getDocumentHighlights(this.activeFile.fileName, this.currentCaretPosition, filesToSearch);
}
+ public verifyRangesAreOccurrences(isWriteAccess?: boolean) {
+ const ranges = this.getRanges();
+ for (const r of ranges) {
+ this.goToRangeStart(r);
+ this.verifyOccurrencesAtPositionListCount(ranges.length);
+ for (const range of ranges) {
+ this.verifyOccurrencesAtPositionListContains(range.fileName, range.start, range.end, isWriteAccess);
+ }
+ }
+ }
+
+ public verifyRangesAreRenameLocations(findInStrings: boolean, findInComments: boolean) {
+ this.goToEachRange(() => this.verifyRenameLocations(findInStrings, findInComments));
+ }
+
public verifyRangesWithSameTextAreDocumentHighlights() {
this.rangesByText().forEach(ranges => this.verifyRangesAreDocumentHighlights(ranges));
}
@@ -3078,10 +3120,22 @@ namespace FourSlashInterface {
// Moves the caret to the specified marker,
// or the anonymous marker ('/**/') if no name
// is given
- public marker(name?: string) {
+ public marker(name?: string | FourSlash.Marker) {
this.state.goToMarker(name);
}
+ public eachMarker(action: () => void) {
+ this.state.goToEachMarker(action);
+ }
+
+ public rangeStart(range: FourSlash.Range) {
+ this.state.goToRangeStart(range);
+ }
+
+ public eachRange(action: () => void) {
+ this.state.goToEachRange(action);
+ }
+
public bof() {
this.state.goToBOF();
}
@@ -3432,6 +3486,14 @@ namespace FourSlashInterface {
this.state.verifyOccurrencesAtPositionListCount(expectedCount);
}
+ public rangesAreOccurrences(isWriteAccess?: boolean) {
+ this.state.verifyRangesAreOccurrences(isWriteAccess);
+ }
+
+ public rangesAreRenameLocations(findInStrings = false, findInComments = false) {
+ this.state.verifyRangesAreRenameLocations(findInStrings, findInComments);
+ }
+
public rangesAreDocumentHighlights(ranges?: FourSlash.Range[]) {
this.state.verifyRangesAreDocumentHighlights(ranges);
}
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_Generics.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_Generics.ts
index 0e92a3ae995..784fc8c499c 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_Generics.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_Generics.ts
@@ -11,8 +11,4 @@
////function A*genericName5*/
-
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_catch.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_catch.ts
index bdf13c1d97f..bfbfa1bb160 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_catch.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_catch.ts
@@ -6,8 +6,4 @@
//// try {} catch(a/*catchVariable2*/
-
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_classes.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_classes.ts
index 60a108cf1e6..5d96c565719 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_classes.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_classes.ts
@@ -6,7 +6,4 @@
////class a/*className2*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_destructuring.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_destructuring.ts
index 7f8ef32e1ad..d2ecdf29426 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_destructuring.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_destructuring.ts
@@ -16,7 +16,4 @@
//// function func2({ a, b/*parameter2*/
-test.markers().forEach(m => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers.ts
index 6c0472be546..f0818108301 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers.ts
@@ -4,8 +4,4 @@
////enum a { /*enumValueName1*/
-
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers2.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers2.ts
index ee2f3e71032..11aa276bb5a 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers2.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enumMembers2.ts
@@ -3,7 +3,4 @@
////var aa = 1;
////enum a { foo, /*enumValueName3*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enums.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enums.ts
index 183f8a22c63..c740218e27e 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enums.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_enums.ts
@@ -8,7 +8,4 @@
////var x = 0; enum /*enumName4*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_functions.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_functions.ts
index 24231174727..2f55f9527bc 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_functions.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_functions.ts
@@ -6,8 +6,4 @@
////function a/*functionName2*/
-
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers.ts
index 266b0b78c9c..9998f38c255 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers.ts
@@ -4,7 +4,4 @@
////interface a { /*interfaceValue1*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers2.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers2.ts
index 82a30325948..234e41bfb71 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers2.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers2.ts
@@ -4,7 +4,4 @@
////interface a { f/*interfaceValue2*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers3.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers3.ts
index ed640dd3f1a..f0a596ef8b1 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers3.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaceMembers3.ts
@@ -4,7 +4,4 @@
////interface a { f; /*interfaceValue3*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaces.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaces.ts
index ec2732fe2fe..d4be268eb7d 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaces.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_interfaces.ts
@@ -6,8 +6,4 @@
////interface a/*interfaceName2*/
-
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_parameters.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_parameters.ts
index 10293c41a64..474859129db 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_parameters.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_parameters.ts
@@ -22,8 +22,4 @@
////class bar10{ constructor(...a/*constructorParamter6*/
-
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_properties.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_properties.ts
index 58fdc1d2342..3ba0df0c31d 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_properties.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_properties.ts
@@ -30,8 +30,7 @@
//// private a/*property7*/
////}
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
+goTo.eachMarker(() => {
verify.not.completionListIsEmpty();
verify.completionListAllowsNewIdentifier();
});
\ No newline at end of file
diff --git a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_varDeclarations.ts b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_varDeclarations.ts
index 2e85364ce3c..9a2c9ba664a 100644
--- a/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_varDeclarations.ts
+++ b/tests/cases/fourslash/completionListAtIdentifierDefinitionLocations_varDeclarations.ts
@@ -11,7 +11,4 @@
////var a2, a/*varName4*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListAtInvalidLocations.ts b/tests/cases/fourslash/completionListAtInvalidLocations.ts
index 6e4b4056a7d..0660f0e183b 100644
--- a/tests/cases/fourslash/completionListAtInvalidLocations.ts
+++ b/tests/cases/fourslash/completionListAtInvalidLocations.ts
@@ -25,7 +25,4 @@
////foo;
////var v10 = /reg/*inRegExp1*/ex/;
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListBuilderLocations_VariableDeclarations.ts b/tests/cases/fourslash/completionListBuilderLocations_VariableDeclarations.ts
index d069b9a722e..2562b840995 100644
--- a/tests/cases/fourslash/completionListBuilderLocations_VariableDeclarations.ts
+++ b/tests/cases/fourslash/completionListBuilderLocations_VariableDeclarations.ts
@@ -11,7 +11,7 @@
//// var y : any = "", x = (a/*var5*/
////class C{}
-////var y = new C(
+////var y = new C(
//// class C{}
//// var y = new C(0, /*var7*/
@@ -26,9 +26,4 @@
////var y = 10; y=/*var12*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListAllowsNewIdentifier();
-});
-
-
+goTo.eachMarker(() => verify.completionListAllowsNewIdentifier());
diff --git a/tests/cases/fourslash/completionListBuilderLocations_parameters.ts b/tests/cases/fourslash/completionListBuilderLocations_parameters.ts
index 12dba953d3d..607ca0d9819 100644
--- a/tests/cases/fourslash/completionListBuilderLocations_parameters.ts
+++ b/tests/cases/fourslash/completionListBuilderLocations_parameters.ts
@@ -14,9 +14,7 @@
////class bar7{ constructor(private a, /*constructorParamter6*/
-
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
+goTo.eachMarker(() => {
verify.not.completionListIsEmpty();
verify.completionListAllowsNewIdentifier();
});
\ No newline at end of file
diff --git a/tests/cases/fourslash/completionListBuilderLocations_properties.ts b/tests/cases/fourslash/completionListBuilderLocations_properties.ts
index 287ffd6746b..806d8c1de4f 100644
--- a/tests/cases/fourslash/completionListBuilderLocations_properties.ts
+++ b/tests/cases/fourslash/completionListBuilderLocations_properties.ts
@@ -10,7 +10,4 @@
//// public static a/*property2*/
////}
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
- verify.completionListIsEmpty();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListInIndexSignature01.ts b/tests/cases/fourslash/completionListInIndexSignature01.ts
index 2db28505b3e..aaf97fee1a5 100644
--- a/tests/cases/fourslash/completionListInIndexSignature01.ts
+++ b/tests/cases/fourslash/completionListInIndexSignature01.ts
@@ -14,7 +14,4 @@
//// [x/*5*/yz: number]: boolean;
//// [/*6*/
-for (let marker of test.markers()) {
- goTo.position(marker.position);
- verify.completionListAllowsNewIdentifier();
-}
\ No newline at end of file
+goTo.eachMarker(() => verify.completionListAllowsNewIdentifier());
diff --git a/tests/cases/fourslash/completionListInIndexSignature02.ts b/tests/cases/fourslash/completionListInIndexSignature02.ts
index d3b65dc7759..ce1f8b38e24 100644
--- a/tests/cases/fourslash/completionListInIndexSignature02.ts
+++ b/tests/cases/fourslash/completionListInIndexSignature02.ts
@@ -13,7 +13,4 @@
////type T = {
//// [xyz: /*5*/
-for (let marker of test.markers()) {
- goTo.position(marker.position);
- verify.not.completionListAllowsNewIdentifier();
-}
\ No newline at end of file
+goTo.eachMarker(() => verify.not.completionListAllowsNewIdentifier());
diff --git a/tests/cases/fourslash/completionListInObjectLiteral4.ts b/tests/cases/fourslash/completionListInObjectLiteral4.ts
index c00462c8255..3094b4db6ad 100644
--- a/tests/cases/fourslash/completionListInObjectLiteral4.ts
+++ b/tests/cases/fourslash/completionListInObjectLiteral4.ts
@@ -20,9 +20,7 @@
////funcE({ /*E*/ });
////funcF({ /*F*/ });
-
-for (const marker of test.markers()) {
- goTo.position(marker.position);
+goTo.eachMarker(() => {
verify.completionListContains("hello");
verify.completionListContains("world");
-}
+});
diff --git a/tests/cases/fourslash/completionListInStringLiterals1.ts b/tests/cases/fourslash/completionListInStringLiterals1.ts
index e394e8dfe7c..aabcc82eba5 100644
--- a/tests/cases/fourslash/completionListInStringLiterals1.ts
+++ b/tests/cases/fourslash/completionListInStringLiterals1.ts
@@ -3,8 +3,4 @@
////"/*1*/ /*2*/\/*3*/
//// /*4*/ \\/*5*/
-test.markers().forEach(marker => {
- goTo.position(marker.position);
-
- verify.completionListIsEmpty()
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListInStringLiterals2.ts b/tests/cases/fourslash/completionListInStringLiterals2.ts
index 10cb05a4f91..4ffd5eb8a9b 100644
--- a/tests/cases/fourslash/completionListInStringLiterals2.ts
+++ b/tests/cases/fourslash/completionListInStringLiterals2.ts
@@ -4,8 +4,4 @@
//// /*4*/ \\\/*5*/
//// /*6*/
-test.markers().forEach(marker => {
- goTo.position(marker.position);
-
- verify.completionListIsEmpty()
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListInTemplateLiteralParts1.ts b/tests/cases/fourslash/completionListInTemplateLiteralParts1.ts
index 0166546f63e..9de7b6a6a5b 100644
--- a/tests/cases/fourslash/completionListInTemplateLiteralParts1.ts
+++ b/tests/cases/fourslash/completionListInTemplateLiteralParts1.ts
@@ -4,8 +4,4 @@
////
/////*6*/`asdasd${/*7*/ 2 + 1.1 /*8*/} 12312 {
-test.markers().forEach(marker => {
- goTo.position(marker.position);
-
- verify.completionListItemsCountIsGreaterThan(0)
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.completionListItemsCountIsGreaterThan(0));
diff --git a/tests/cases/fourslash/completionListInTemplateLiteralPartsNegatives1.ts b/tests/cases/fourslash/completionListInTemplateLiteralPartsNegatives1.ts
index ac64a41fb56..30af0678e7d 100644
--- a/tests/cases/fourslash/completionListInTemplateLiteralPartsNegatives1.ts
+++ b/tests/cases/fourslash/completionListInTemplateLiteralPartsNegatives1.ts
@@ -4,8 +4,4 @@
////
////`asdasd$/*7*/{ 2 + 1.1 }/*8*/ 12312 /*9*/{/*10*/
-test.markers().forEach(marker => {
- goTo.position(marker.position);
-
- verify.completionListIsEmpty()
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.completionListIsEmpty());
diff --git a/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts b/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts
index 8a9a5bfb9ed..1f8b24d1cf1 100644
--- a/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts
+++ b/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts
@@ -2,8 +2,7 @@
////function F(pref: (a/*1*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
+goTo.eachMarker(() => {
verify.not.completionListIsEmpty();
verify.completionListAllowsNewIdentifier();
});
diff --git a/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts b/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts
index 534011b7ee1..a4126ebe8be 100644
--- a/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts
+++ b/tests/cases/fourslash/completionListNewIdentifierVariableDeclaration.ts
@@ -4,8 +4,7 @@
////var y : (s:string, list/*2*/
-test.markers().forEach((m) => {
- goTo.position(m.position, m.fileName);
+goTo.eachMarker(() => {
verify.not.completionListIsEmpty();
verify.completionListAllowsNewIdentifier();
-});
\ No newline at end of file
+});
diff --git a/tests/cases/fourslash/docCommentTemplateInSingleLineComment.ts b/tests/cases/fourslash/docCommentTemplateInSingleLineComment.ts
index 52925870a66..65e9c17014e 100644
--- a/tests/cases/fourslash/docCommentTemplateInSingleLineComment.ts
+++ b/tests/cases/fourslash/docCommentTemplateInSingleLineComment.ts
@@ -3,12 +3,9 @@
// @Filename: justAComment.ts
//// // We want to check off-by-one errors in assessing the end of the comment, so we check twice,
//// // first with a trailing space and then without.
-//// // /*0*/
+//// // /*0*/
//// // /*1*/
//// // We also want to check EOF handling at the end of a comment
//// // /*2*/
-test.markers().forEach((marker) => {
- goTo.position(marker.position);
- verify.noDocCommentTemplate();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.noDocCommentTemplate());
diff --git a/tests/cases/fourslash/docCommentTemplateInsideFunctionDeclaration.ts b/tests/cases/fourslash/docCommentTemplateInsideFunctionDeclaration.ts
index 9c803301526..dd58a1bfd5f 100644
--- a/tests/cases/fourslash/docCommentTemplateInsideFunctionDeclaration.ts
+++ b/tests/cases/fourslash/docCommentTemplateInsideFunctionDeclaration.ts
@@ -3,7 +3,4 @@
// @Filename: functionDecl.ts
////f/*0*/unction /*1*/foo/*2*/(/*3*/) /*4*/{ /*5*/}
-test.markers().forEach((marker) => {
- goTo.position(marker.position);
- verify.noDocCommentTemplate();
-});
+goTo.eachMarker(() => verify.noDocCommentTemplate());
diff --git a/tests/cases/fourslash/docCommentTemplateRegex.ts b/tests/cases/fourslash/docCommentTemplateRegex.ts
index 0bf50f5e85a..62d200dee10 100644
--- a/tests/cases/fourslash/docCommentTemplateRegex.ts
+++ b/tests/cases/fourslash/docCommentTemplateRegex.ts
@@ -3,7 +3,4 @@
// @Filename: regex.ts
////var regex = /*0*///*1*/asdf/*2*/ /*3*///*4*/;
-test.markers().forEach((marker) => {
- goTo.position(marker.position);
- verify.noDocCommentTemplate();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.noDocCommentTemplate());
diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts
index ed09fcd2c92..6685bbc19c0 100644
--- a/tests/cases/fourslash/fourslash.ts
+++ b/tests/cases/fourslash/fourslash.ts
@@ -117,7 +117,10 @@ declare namespace FourSlashInterface {
markerByName(s: string): Marker;
}
class goTo {
- marker(name?: string): void;
+ marker(name?: string | Marker): void;
+ eachMarker(action: () => void): void;
+ rangeStart(range: Range): void;
+ eachRange(action: () => void): void;
bof(): void;
eof(): void;
implementation(): void;
@@ -191,6 +194,8 @@ declare namespace FourSlashInterface {
* `start` should be included in `references`.
*/
referencesOf(start: Range, references: Range[]): void;
+ rangesAreOccurrences(isWriteAccess?: boolean): void;
+ rangesAreRenameLocations(findInStrings?: boolean, findInComments?: boolean): void;
/**
* Performs `referencesOf` for every range on the whole set.
* If `ranges` is omitted, this is `test.ranges()`.
diff --git a/tests/cases/fourslash/getOccurrencesAbstract01.ts b/tests/cases/fourslash/getOccurrencesAbstract01.ts
index 3e48ba4841a..b2ccc815e05 100644
--- a/tests/cases/fourslash/getOccurrencesAbstract01.ts
+++ b/tests/cases/fourslash/getOccurrencesAbstract01.ts
@@ -12,13 +12,4 @@
//// abstract bar(): void;
////}
-const ranges = test.ranges();
-
-for (let r of ranges) {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(ranges.length);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
\ No newline at end of file
diff --git a/tests/cases/fourslash/getOccurrencesAbstract02.ts b/tests/cases/fourslash/getOccurrencesAbstract02.ts
index 8daafdbdc8e..1decdaaf69c 100644
--- a/tests/cases/fourslash/getOccurrencesAbstract02.ts
+++ b/tests/cases/fourslash/getOccurrencesAbstract02.ts
@@ -11,16 +11,7 @@
//// abstract bar(): void;
////}
-const ranges = test.ranges();
-
-for (let r of ranges) {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(ranges.length);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
goTo.marker("1");
verify.occurrencesAtPositionCount(0);
diff --git a/tests/cases/fourslash/getOccurrencesClassExpressionConstructor.ts b/tests/cases/fourslash/getOccurrencesClassExpressionConstructor.ts
index 5fa778ef8cd..d092c1dfd92 100644
--- a/tests/cases/fourslash/getOccurrencesClassExpressionConstructor.ts
+++ b/tests/cases/fourslash/getOccurrencesClassExpressionConstructor.ts
@@ -13,11 +13,4 @@
//// }
////}
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesClassExpressionPrivate.ts b/tests/cases/fourslash/getOccurrencesClassExpressionPrivate.ts
index b008ec237b8..2bc18d2eb25 100644
--- a/tests/cases/fourslash/getOccurrencesClassExpressionPrivate.ts
+++ b/tests/cases/fourslash/getOccurrencesClassExpressionPrivate.ts
@@ -17,11 +17,4 @@
//// public test2() {}
////}
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesClassExpressionPublic.ts b/tests/cases/fourslash/getOccurrencesClassExpressionPublic.ts
index 3070fd4f6ca..c54dbd289e0 100644
--- a/tests/cases/fourslash/getOccurrencesClassExpressionPublic.ts
+++ b/tests/cases/fourslash/getOccurrencesClassExpressionPublic.ts
@@ -17,11 +17,4 @@
//// public test2() {}
////}
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesClassExpressionStatic.ts b/tests/cases/fourslash/getOccurrencesClassExpressionStatic.ts
index 567c0c4eccd..d4851ad86ef 100644
--- a/tests/cases/fourslash/getOccurrencesClassExpressionStatic.ts
+++ b/tests/cases/fourslash/getOccurrencesClassExpressionStatic.ts
@@ -1,7 +1,7 @@
///
////let A = class Foo {
-//// public static foo;
+//// public [|static|] foo;
//// [|static|] a;
//// constructor(public y: string, private x: string) {
//// }
@@ -19,11 +19,4 @@
//// public static test2() {}
////}
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesClassExpressionStaticThis.ts b/tests/cases/fourslash/getOccurrencesClassExpressionStaticThis.ts
index 5444ab9acdd..53c1a69bead 100644
--- a/tests/cases/fourslash/getOccurrencesClassExpressionStaticThis.ts
+++ b/tests/cases/fourslash/getOccurrencesClassExpressionStaticThis.ts
@@ -46,11 +46,4 @@
//// }
////}
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesClassExpressionThis.ts b/tests/cases/fourslash/getOccurrencesClassExpressionThis.ts
index ed8f8cb1d0e..d1331e54a43 100644
--- a/tests/cases/fourslash/getOccurrencesClassExpressionThis.ts
+++ b/tests/cases/fourslash/getOccurrencesClassExpressionThis.ts
@@ -44,11 +44,4 @@
//// }
////}
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesConst02.ts b/tests/cases/fourslash/getOccurrencesConst02.ts
index 0dc96fcca6c..57d75f88e22 100644
--- a/tests/cases/fourslash/getOccurrencesConst02.ts
+++ b/tests/cases/fourslash/getOccurrencesConst02.ts
@@ -10,7 +10,4 @@
////declare [|const|] enum E {
////}
-test.ranges().forEach(range => {
- goTo.position(range.start);
- verify.occurrencesAtPositionCount(0);
-});
\ No newline at end of file
+goTo.eachRange(() => verify.occurrencesAtPositionCount(0));
diff --git a/tests/cases/fourslash/getOccurrencesConst03.ts b/tests/cases/fourslash/getOccurrencesConst03.ts
index 404ff655044..a86481ed72a 100644
--- a/tests/cases/fourslash/getOccurrencesConst03.ts
+++ b/tests/cases/fourslash/getOccurrencesConst03.ts
@@ -10,7 +10,4 @@
////export [|const|] enum E {
////}
-test.ranges().forEach(range => {
- goTo.position(range.start);
- verify.occurrencesAtPositionCount(0);
-});
\ No newline at end of file
+goTo.eachRange(() => verify.occurrencesAtPositionCount(0));
\ No newline at end of file
diff --git a/tests/cases/fourslash/getOccurrencesConstructor.ts b/tests/cases/fourslash/getOccurrencesConstructor.ts
index 0a6b84a5770..41d72c533a3 100644
--- a/tests/cases/fourslash/getOccurrencesConstructor.ts
+++ b/tests/cases/fourslash/getOccurrencesConstructor.ts
@@ -18,15 +18,9 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesConstructor2.ts b/tests/cases/fourslash/getOccurrencesConstructor2.ts
index 049c25b7f52..b34ffa4a190 100644
--- a/tests/cases/fourslash/getOccurrencesConstructor2.ts
+++ b/tests/cases/fourslash/getOccurrencesConstructor2.ts
@@ -18,15 +18,9 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesDeclare1.ts b/tests/cases/fourslash/getOccurrencesDeclare1.ts
index 4207a92b5a6..96114d3fc9d 100644
--- a/tests/cases/fourslash/getOccurrencesDeclare1.ts
+++ b/tests/cases/fourslash/getOccurrencesDeclare1.ts
@@ -53,11 +53,4 @@
//// [|declare|] function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesDeclare2.ts b/tests/cases/fourslash/getOccurrencesDeclare2.ts
index 3d719e5d035..78028d94996 100644
--- a/tests/cases/fourslash/getOccurrencesDeclare2.ts
+++ b/tests/cases/fourslash/getOccurrencesDeclare2.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesDeclare3.ts b/tests/cases/fourslash/getOccurrencesDeclare3.ts
index 2dee0af4b14..8c1bf7e9658 100644
--- a/tests/cases/fourslash/getOccurrencesDeclare3.ts
+++ b/tests/cases/fourslash/getOccurrencesDeclare3.ts
@@ -61,11 +61,4 @@
////[|declare|] module dm { }
////export class EC { }
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesExport1.ts b/tests/cases/fourslash/getOccurrencesExport1.ts
index bc82e8a1bea..71202a820a7 100644
--- a/tests/cases/fourslash/getOccurrencesExport1.ts
+++ b/tests/cases/fourslash/getOccurrencesExport1.ts
@@ -53,11 +53,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesExport2.ts b/tests/cases/fourslash/getOccurrencesExport2.ts
index a8e43e744b9..442642d77ec 100644
--- a/tests/cases/fourslash/getOccurrencesExport2.ts
+++ b/tests/cases/fourslash/getOccurrencesExport2.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesExport3.ts b/tests/cases/fourslash/getOccurrencesExport3.ts
index 215cbf8f48a..04ee55bb1e6 100644
--- a/tests/cases/fourslash/getOccurrencesExport3.ts
+++ b/tests/cases/fourslash/getOccurrencesExport3.ts
@@ -61,11 +61,4 @@
////declare module dm { }
////[|export|] class EC { }
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesIfElse.ts b/tests/cases/fourslash/getOccurrencesIfElse.ts
index 96c70d404ab..9251a59d130 100644
--- a/tests/cases/fourslash/getOccurrencesIfElse.ts
+++ b/tests/cases/fourslash/getOccurrencesIfElse.ts
@@ -22,15 +22,9 @@
////}
////[|else|] { }
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesIfElse2.ts b/tests/cases/fourslash/getOccurrencesIfElse2.ts
index 012e7a96efd..df77687aac6 100644
--- a/tests/cases/fourslash/getOccurrencesIfElse2.ts
+++ b/tests/cases/fourslash/getOccurrencesIfElse2.ts
@@ -22,11 +22,4 @@
////}
////else { }
-
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
\ No newline at end of file
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesIfElse3.ts b/tests/cases/fourslash/getOccurrencesIfElse3.ts
index b0ca3615648..aec1a6911af 100644
--- a/tests/cases/fourslash/getOccurrencesIfElse3.ts
+++ b/tests/cases/fourslash/getOccurrencesIfElse3.ts
@@ -22,11 +22,4 @@
////}
////else { }
-
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
\ No newline at end of file
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesIfElseBroken.ts b/tests/cases/fourslash/getOccurrencesIfElseBroken.ts
index a9e1e94f42d..c5460b3e634 100644
--- a/tests/cases/fourslash/getOccurrencesIfElseBroken.ts
+++ b/tests/cases/fourslash/getOccurrencesIfElseBroken.ts
@@ -12,13 +12,7 @@
// It would be nice if in the future,
// We could include that last 'else'.
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
verify.occurrencesAtPositionCount(2);
\ No newline at end of file
diff --git a/tests/cases/fourslash/getOccurrencesIsWriteAccess.ts b/tests/cases/fourslash/getOccurrencesIsWriteAccess.ts
index 1ba4c39041c..e31b199217f 100644
--- a/tests/cases/fourslash/getOccurrencesIsWriteAccess.ts
+++ b/tests/cases/fourslash/getOccurrencesIsWriteAccess.ts
@@ -18,10 +18,8 @@
////[|{| "isWriteAccess": true |}x|] += 1;
////[|{| "isWriteAccess": true |}x|] <<= 1;
+goTo.rangeStart(test.ranges()[0]);
-var firstRange = test.ranges()[0];
-goTo.position(firstRange.start, firstRange.fileName);
-
-test.ranges().forEach((range) => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, range.marker.data.isWriteAccess);
-});
+}
diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts
index 81aaaed5c58..88621cd4cf4 100644
--- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts
+++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue.ts
@@ -46,7 +46,7 @@
//// default:
//// continue;
//// }
-////
+////
//// // these cross function boundaries
//// break label1;
//// continue label1;
@@ -63,17 +63,10 @@
////
////label7: while (true) continue label5;
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
verify.occurrencesAtPositionCount(test.ranges().length);
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts
index 51d4d89b657..225346f8077 100644
--- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts
+++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue2.ts
@@ -46,7 +46,7 @@
//// default:
//// continue;
//// }
-////
+////
//// // these cross function boundaries
//// break label1;
//// continue label1;
@@ -63,17 +63,10 @@
////
////label7: while (true) continue label5;
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
verify.occurrencesAtPositionCount(test.ranges().length);
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts
index 8777c912afd..c1aeef315f9 100644
--- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts
+++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue3.ts
@@ -46,7 +46,7 @@
//// default:
//// continue;
//// }
-////
+////
//// // these cross function boundaries
//// break label1;
//// continue label1;
@@ -63,16 +63,9 @@
////
////label7: while (true) continue label5;
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts
index 1bca62ba013..b183b2b3fde 100644
--- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts
+++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue4.ts
@@ -46,7 +46,7 @@
//// default:
//// [|continue|];
//// }
-////
+////
//// // these cross function boundaries
//// break label1;
//// continue label1;
@@ -63,17 +63,10 @@
////
////label7: while (true) continue label5;
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
verify.occurrencesAtPositionCount(test.ranges().length);
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts
index f4e62c554e4..3353d6c96dc 100644
--- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts
+++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue5.ts
@@ -46,7 +46,7 @@
//// default:
//// continue;
//// }
-////
+////
//// // these cross function boundaries
//// break label1;
//// continue label1;
@@ -63,17 +63,10 @@
////
////label7: while (true) continue label5;
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
verify.occurrencesAtPositionCount(test.ranges().length);
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinue6.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinue6.ts
index 0127245dd50..957f8c4af01 100644
--- a/tests/cases/fourslash/getOccurrencesLoopBreakContinue6.ts
+++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinue6.ts
@@ -46,7 +46,7 @@
//// default:
//// continue;
//// }
-////
+////
//// // these cross function boundaries
//// br/*5*/eak label1;
//// co/*6*/ntinue label1;
@@ -63,8 +63,4 @@
////
////label7: while (true) co/*10*/ntinue label5;
-test.markers().forEach(m => {
- goTo.position(m.position);
-
- verify.occurrencesAtPositionCount(0);
-});
+goTo.eachMarker(() => verify.occurrencesAtPositionCount(0));
diff --git a/tests/cases/fourslash/getOccurrencesLoopBreakContinueNegatives.ts b/tests/cases/fourslash/getOccurrencesLoopBreakContinueNegatives.ts
index 0127245dd50..957f8c4af01 100644
--- a/tests/cases/fourslash/getOccurrencesLoopBreakContinueNegatives.ts
+++ b/tests/cases/fourslash/getOccurrencesLoopBreakContinueNegatives.ts
@@ -46,7 +46,7 @@
//// default:
//// continue;
//// }
-////
+////
//// // these cross function boundaries
//// br/*5*/eak label1;
//// co/*6*/ntinue label1;
@@ -63,8 +63,4 @@
////
////label7: while (true) co/*10*/ntinue label5;
-test.markers().forEach(m => {
- goTo.position(m.position);
-
- verify.occurrencesAtPositionCount(0);
-});
+goTo.eachMarker(() => verify.occurrencesAtPositionCount(0));
diff --git a/tests/cases/fourslash/getOccurrencesModifiersNegatives1.ts b/tests/cases/fourslash/getOccurrencesModifiersNegatives1.ts
index 51d5907a5d6..836d87fa9be 100644
--- a/tests/cases/fourslash/getOccurrencesModifiersNegatives1.ts
+++ b/tests/cases/fourslash/getOccurrencesModifiersNegatives1.ts
@@ -34,8 +34,4 @@
////[|public|] [|static|] [|protected|] [|private|] f;
////[|protected|] [|static|] [|public|] g;
-
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(0);
-});
+goTo.eachRange(() => verify.occurrencesAtPositionCount(0));
diff --git a/tests/cases/fourslash/getOccurrencesOfAnonymousFunction.ts b/tests/cases/fourslash/getOccurrencesOfAnonymousFunction.ts
index 96354df6b05..8ce60b21306 100644
--- a/tests/cases/fourslash/getOccurrencesOfAnonymousFunction.ts
+++ b/tests/cases/fourslash/getOccurrencesOfAnonymousFunction.ts
@@ -5,12 +5,4 @@
//// return 0;
////})
-
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(2);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range);
- });
-});
\ No newline at end of file
+verify.rangesAreOccurrences();
diff --git a/tests/cases/fourslash/getOccurrencesPrivate1.ts b/tests/cases/fourslash/getOccurrencesPrivate1.ts
index 991ed3ea31c..bb601451507 100644
--- a/tests/cases/fourslash/getOccurrencesPrivate1.ts
+++ b/tests/cases/fourslash/getOccurrencesPrivate1.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesPrivate2.ts b/tests/cases/fourslash/getOccurrencesPrivate2.ts
index 19397443af5..914db1a15a9 100644
--- a/tests/cases/fourslash/getOccurrencesPrivate2.ts
+++ b/tests/cases/fourslash/getOccurrencesPrivate2.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesPropertyInAliasedInterface.ts b/tests/cases/fourslash/getOccurrencesPropertyInAliasedInterface.ts
index 87ec260601b..3a9078cfc63 100644
--- a/tests/cases/fourslash/getOccurrencesPropertyInAliasedInterface.ts
+++ b/tests/cases/fourslash/getOccurrencesPropertyInAliasedInterface.ts
@@ -15,11 +15,5 @@
////}
////
////(new C()).[|abc|];
-test.ranges().forEach(r => {
- goTo.position(r.start);
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range);
- });
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
\ No newline at end of file
+verify.rangesAreOccurrences();
diff --git a/tests/cases/fourslash/getOccurrencesProtected1.ts b/tests/cases/fourslash/getOccurrencesProtected1.ts
index af9e3302968..b5b3442ec00 100644
--- a/tests/cases/fourslash/getOccurrencesProtected1.ts
+++ b/tests/cases/fourslash/getOccurrencesProtected1.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesProtected2.ts b/tests/cases/fourslash/getOccurrencesProtected2.ts
index 666736eee16..365d78dc9f6 100644
--- a/tests/cases/fourslash/getOccurrencesProtected2.ts
+++ b/tests/cases/fourslash/getOccurrencesProtected2.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesPublic1.ts b/tests/cases/fourslash/getOccurrencesPublic1.ts
index a451a70c1cb..1ecc816dac5 100644
--- a/tests/cases/fourslash/getOccurrencesPublic1.ts
+++ b/tests/cases/fourslash/getOccurrencesPublic1.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesPublic2.ts b/tests/cases/fourslash/getOccurrencesPublic2.ts
index b4887e18e80..6d5b4e53c0e 100644
--- a/tests/cases/fourslash/getOccurrencesPublic2.ts
+++ b/tests/cases/fourslash/getOccurrencesPublic2.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesReturn.ts b/tests/cases/fourslash/getOccurrencesReturn.ts
index 613e1645fb5..44b3679ba2e 100644
--- a/tests/cases/fourslash/getOccurrencesReturn.ts
+++ b/tests/cases/fourslash/getOccurrencesReturn.ts
@@ -19,15 +19,9 @@
//// [|return|] true;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesReturn2.ts b/tests/cases/fourslash/getOccurrencesReturn2.ts
index 15a062433fe..750648838a2 100644
--- a/tests/cases/fourslash/getOccurrencesReturn2.ts
+++ b/tests/cases/fourslash/getOccurrencesReturn2.ts
@@ -19,15 +19,9 @@
//// return true;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesReturn3.ts b/tests/cases/fourslash/getOccurrencesReturn3.ts
index 030d700ef6e..ee739efef39 100644
--- a/tests/cases/fourslash/getOccurrencesReturn3.ts
+++ b/tests/cases/fourslash/getOccurrencesReturn3.ts
@@ -19,10 +19,4 @@
//// return true;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
\ No newline at end of file
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesReturnBroken.ts b/tests/cases/fourslash/getOccurrencesReturnBroken.ts
index 2327a62d12c..c8d7fad0635 100644
--- a/tests/cases/fourslash/getOccurrencesReturnBroken.ts
+++ b/tests/cases/fourslash/getOccurrencesReturnBroken.ts
@@ -26,17 +26,11 @@
//// r/*4*/eturn 8675309;
////}
-// Note: For this test, these 'return's get highlighted as a result of a parse recovery
+// Note: For this test, these 'return's get highlighted as a result of a parse recovery
// where if an arrow function starts with a statement, we try to parse a body
// as if it was missing curly braces. If the behavior changes in the future,
// a change to this test is very much welcome.
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
for (var i = 1; i <= test.markers().length; i++) {
goTo.marker("" + i);
diff --git a/tests/cases/fourslash/getOccurrencesSetAndGet.ts b/tests/cases/fourslash/getOccurrencesSetAndGet.ts
index ddeaf8f26ff..2d28328800c 100644
--- a/tests/cases/fourslash/getOccurrencesSetAndGet.ts
+++ b/tests/cases/fourslash/getOccurrencesSetAndGet.ts
@@ -23,12 +23,4 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesSetAndGet2.ts b/tests/cases/fourslash/getOccurrencesSetAndGet2.ts
index 3e05f511efc..541efc80509 100644
--- a/tests/cases/fourslash/getOccurrencesSetAndGet2.ts
+++ b/tests/cases/fourslash/getOccurrencesSetAndGet2.ts
@@ -23,12 +23,4 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesSetAndGet3.ts b/tests/cases/fourslash/getOccurrencesSetAndGet3.ts
index 777a62db6a5..32c4d72c1a5 100644
--- a/tests/cases/fourslash/getOccurrencesSetAndGet3.ts
+++ b/tests/cases/fourslash/getOccurrencesSetAndGet3.ts
@@ -23,12 +23,4 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesStatic1.ts b/tests/cases/fourslash/getOccurrencesStatic1.ts
index 8be9862d5ec..d853f16017d 100644
--- a/tests/cases/fourslash/getOccurrencesStatic1.ts
+++ b/tests/cases/fourslash/getOccurrencesStatic1.ts
@@ -54,11 +54,4 @@
//// declare function foo(): string;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesStringLiteralTypes.ts b/tests/cases/fourslash/getOccurrencesStringLiteralTypes.ts
index 56af87497d5..a115ee82211 100644
--- a/tests/cases/fourslash/getOccurrencesStringLiteralTypes.ts
+++ b/tests/cases/fourslash/getOccurrencesStringLiteralTypes.ts
@@ -3,11 +3,4 @@
////function foo(a: "[|option 1|]") { }
////foo("[|option 1|]");
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, false);
- }
-}
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesStringLiterals.ts b/tests/cases/fourslash/getOccurrencesStringLiterals.ts
index 827828acd24..cf17481e0eb 100644
--- a/tests/cases/fourslash/getOccurrencesStringLiterals.ts
+++ b/tests/cases/fourslash/getOccurrencesStringLiterals.ts
@@ -3,8 +3,4 @@
////var x = "[|string|]";
////function f(a = "[|initial value|]") { }
-const ranges = test.ranges();
-for (let r of ranges) {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(1);
-}
+goTo.eachRange(() => verify.occurrencesAtPositionCount(1));
diff --git a/tests/cases/fourslash/getOccurrencesSuper.ts b/tests/cases/fourslash/getOccurrencesSuper.ts
index f53d9aca62e..6f5c51715f3 100644
--- a/tests/cases/fourslash/getOccurrencesSuper.ts
+++ b/tests/cases/fourslash/getOccurrencesSuper.ts
@@ -27,7 +27,7 @@
////
//// public method3() {
//// var x = () => [|super|].superMethod();
-////
+////
//// // Bad but still gets highlighted
//// function f() {
//// [|super|].superMethod();
@@ -50,15 +50,9 @@
//// static super = 20;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/tests/cases/fourslash/getOccurrencesSuper2.ts b/tests/cases/fourslash/getOccurrencesSuper2.ts
index 1392170ae18..2da702acbc6 100644
--- a/tests/cases/fourslash/getOccurrencesSuper2.ts
+++ b/tests/cases/fourslash/getOccurrencesSuper2.ts
@@ -27,7 +27,7 @@
////
//// public method3() {
//// var x = () => super.superMethod();
-////
+////
//// // Bad but still gets highlighted
//// function f() {
//// super.superMethod();
@@ -50,15 +50,9 @@
//// static super = 20;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/tests/cases/fourslash/getOccurrencesSuper3.ts b/tests/cases/fourslash/getOccurrencesSuper3.ts
index bceac02a392..88275975004 100644
--- a/tests/cases/fourslash/getOccurrencesSuper3.ts
+++ b/tests/cases/fourslash/getOccurrencesSuper3.ts
@@ -14,7 +14,7 @@
////}
function checkRange(r: FourSlashInterface.Range, expectedOccurences: FourSlashInterface.Range[]): void {
- goTo.position(r.start);
+ goTo.rangeStart(r);
if (expectedOccurences.length) {
for (const expected of expectedOccurences) {
verify.occurrencesAtPositionContains(expected);
diff --git a/tests/cases/fourslash/getOccurrencesSuperNegatives.ts b/tests/cases/fourslash/getOccurrencesSuperNegatives.ts
index 8c76da33c12..e2bb248efc4 100644
--- a/tests/cases/fourslash/getOccurrencesSuperNegatives.ts
+++ b/tests/cases/fourslash/getOccurrencesSuperNegatives.ts
@@ -20,8 +20,4 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- verify.occurrencesAtPositionCount(0);
-});
+goTo.eachRange(() => verify.occurrencesAtPositionCount(0));
diff --git a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault.ts b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault.ts
index f32ff0e8f82..34f9ebcd112 100644
--- a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault.ts
+++ b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault.ts
@@ -18,12 +18,4 @@
//// [|case|] 16:
////}
-
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault2.ts b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault2.ts
index dd4577faa1f..1f265f079f8 100644
--- a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault2.ts
+++ b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault2.ts
@@ -18,12 +18,4 @@
//// case 16:
////}
-
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault3.ts b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault3.ts
index 24330ca1912..887e17c2b29 100644
--- a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault3.ts
+++ b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault3.ts
@@ -16,11 +16,4 @@
//// [|break|];
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault4.ts b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault4.ts
index 039009746dd..38b3fbfc7dd 100644
--- a/tests/cases/fourslash/getOccurrencesSwitchCaseDefault4.ts
+++ b/tests/cases/fourslash/getOccurrencesSwitchCaseDefault4.ts
@@ -10,16 +10,5 @@
//// contin/*2*/ue foo;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(test.ranges().length);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
-
-test.markers().forEach(m => {
- goTo.position(m.position);
- verify.occurrencesAtPositionCount(0);
-});
\ No newline at end of file
+verify.rangesAreOccurrences(false);
+goTo.eachMarker(() => verify.occurrencesAtPositionCount(0));
diff --git a/tests/cases/fourslash/getOccurrencesThis.ts b/tests/cases/fourslash/getOccurrencesThis.ts
index e4b059b9cf9..156fde2c4ac 100644
--- a/tests/cases/fourslash/getOccurrencesThis.ts
+++ b/tests/cases/fourslash/getOccurrencesThis.ts
@@ -89,7 +89,7 @@
//// }
////
//// public static staticB = this.staticMethod1;
-////
+////
//// public static staticMethod1() {
//// this;
//// this;
@@ -140,15 +140,9 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesThis2.ts b/tests/cases/fourslash/getOccurrencesThis2.ts
index 3df30369e3e..9a40eb39fb0 100644
--- a/tests/cases/fourslash/getOccurrencesThis2.ts
+++ b/tests/cases/fourslash/getOccurrencesThis2.ts
@@ -89,7 +89,7 @@
//// }
////
//// public static staticB = this.staticMethod1;
-////
+////
//// public static staticMethod1() {
//// this;
//// this;
@@ -140,15 +140,9 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesThis3.ts b/tests/cases/fourslash/getOccurrencesThis3.ts
index 7ee18a31286..66c80241e4a 100644
--- a/tests/cases/fourslash/getOccurrencesThis3.ts
+++ b/tests/cases/fourslash/getOccurrencesThis3.ts
@@ -89,7 +89,7 @@
//// }
////
//// public static staticB = this.staticMethod1;
-////
+////
//// public static staticMethod1() {
//// this;
//// this;
@@ -140,15 +140,9 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesThis4.ts b/tests/cases/fourslash/getOccurrencesThis4.ts
index 75a9383f88e..42ddd7984a8 100644
--- a/tests/cases/fourslash/getOccurrencesThis4.ts
+++ b/tests/cases/fourslash/getOccurrencesThis4.ts
@@ -89,7 +89,7 @@
//// }
////
//// public static staticB = this.staticMethod1;
-////
+////
//// public static staticMethod1() {
//// this;
//// this;
@@ -140,15 +140,9 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesThis5.ts b/tests/cases/fourslash/getOccurrencesThis5.ts
index 86ce16b16be..845e8342fa5 100644
--- a/tests/cases/fourslash/getOccurrencesThis5.ts
+++ b/tests/cases/fourslash/getOccurrencesThis5.ts
@@ -89,7 +89,7 @@
//// }
////
//// public static staticB = [|this|].staticMethod1;
-////
+////
//// public static staticMethod1() {
//// [|this|];
//// [|this|];
@@ -140,15 +140,9 @@
//// }
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
\ No newline at end of file
+}
diff --git a/tests/cases/fourslash/getOccurrencesThisNegatives2.ts b/tests/cases/fourslash/getOccurrencesThisNegatives2.ts
index 0a8b5860feb..3f840e8311a 100644
--- a/tests/cases/fourslash/getOccurrencesThisNegatives2.ts
+++ b/tests/cases/fourslash/getOccurrencesThisNegatives2.ts
@@ -89,7 +89,7 @@
//// }
////
//// public static staticB = this.staticMethod1;
-////
+////
//// public static staticMethod1() {
//// this;
//// this;
@@ -140,8 +140,4 @@
//// }
////}
-
-test.markers().forEach(m => {
- goTo.position(m.position, m.fileName)
- verify.occurrencesAtPositionCount(0);
-});
+goTo.eachMarker(() => verify.occurrencesAtPositionCount(0));
diff --git a/tests/cases/fourslash/getOccurrencesThrow.ts b/tests/cases/fourslash/getOccurrencesThrow.ts
index 19f10dbfb9f..db80e3c51a0 100644
--- a/tests/cases/fourslash/getOccurrencesThrow.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow.ts
@@ -3,7 +3,7 @@
////function f(a: number) {
//// try {
//// throw "Hello";
-////
+////
//// try {
//// throw 10;
//// }
@@ -42,17 +42,9 @@
//// [|throw|] false;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
+}
diff --git a/tests/cases/fourslash/getOccurrencesThrow2.ts b/tests/cases/fourslash/getOccurrencesThrow2.ts
index 9bd2f82e638..21425990e2f 100644
--- a/tests/cases/fourslash/getOccurrencesThrow2.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow2.ts
@@ -3,7 +3,7 @@
////function f(a: number) {
//// try {
//// throw "Hello";
-////
+////
//// try {
//// [|t/**/hrow|] 10;
//// }
@@ -42,17 +42,9 @@
//// throw false;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
+}
diff --git a/tests/cases/fourslash/getOccurrencesThrow3.ts b/tests/cases/fourslash/getOccurrencesThrow3.ts
index 359b783df07..d601123f7bd 100644
--- a/tests/cases/fourslash/getOccurrencesThrow3.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow3.ts
@@ -3,7 +3,7 @@
////function f(a: number) {
//// try {
//// [|throw|] "Hello";
-////
+////
//// try {
//// throw 10;
//// }
@@ -42,17 +42,9 @@
//// throw false;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
+}
diff --git a/tests/cases/fourslash/getOccurrencesThrow4.ts b/tests/cases/fourslash/getOccurrencesThrow4.ts
index ab2375907ee..c348685b4ed 100644
--- a/tests/cases/fourslash/getOccurrencesThrow4.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow4.ts
@@ -3,7 +3,7 @@
////function f(a: number) {
//// try {
//// throw "Hello";
-////
+////
//// try {
//// throw 10;
//// }
@@ -42,17 +42,9 @@
//// throw false;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
+}
diff --git a/tests/cases/fourslash/getOccurrencesThrow5.ts b/tests/cases/fourslash/getOccurrencesThrow5.ts
index 9ba28191752..b4b51b677bc 100644
--- a/tests/cases/fourslash/getOccurrencesThrow5.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow5.ts
@@ -3,7 +3,7 @@
////function f(a: number) {
//// try {
//// throw "Hello";
-////
+////
//// try {
//// throw 10;
//// }
@@ -42,17 +42,9 @@
//// throw false;
////}
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
+verify.rangesAreOccurrences(false);
goTo.marker();
-test.ranges().forEach(range => {
+for (const range of test.ranges()) {
verify.occurrencesAtPositionContains(range, false);
-});
+}
diff --git a/tests/cases/fourslash/getOccurrencesThrow6.ts b/tests/cases/fourslash/getOccurrencesThrow6.ts
index 8b58347ed8a..21509659cd8 100644
--- a/tests/cases/fourslash/getOccurrencesThrow6.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow6.ts
@@ -14,15 +14,4 @@
//// [|throw|] 300;
////}
-
-
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
-
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesThrow7.ts b/tests/cases/fourslash/getOccurrencesThrow7.ts
index 48ab981d762..7a35daeb775 100644
--- a/tests/cases/fourslash/getOccurrencesThrow7.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow7.ts
@@ -19,13 +19,4 @@
////
////[|throw|] 10;
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
-
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/getOccurrencesThrow8.ts b/tests/cases/fourslash/getOccurrencesThrow8.ts
index cc527720dc4..0e57520d492 100644
--- a/tests/cases/fourslash/getOccurrencesThrow8.ts
+++ b/tests/cases/fourslash/getOccurrencesThrow8.ts
@@ -19,13 +19,4 @@
////
////throw 10;
-test.ranges().forEach(r => {
- goTo.position(r.start);
-
- test.ranges().forEach(range => {
- verify.occurrencesAtPositionContains(range, false);
- });
-
- verify.occurrencesAtPositionCount(test.ranges().length);
-});
-
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/quickInfoInvalidLocations.ts b/tests/cases/fourslash/quickInfoInvalidLocations.ts
index 81845e27672..c70be23f387 100644
--- a/tests/cases/fourslash/quickInfoInvalidLocations.ts
+++ b/tests/cases/fourslash/quickInfoInvalidLocations.ts
@@ -27,13 +27,13 @@
////
////mod/*invlaid10*/ule m1 {
//// va/*invlaid11*/r varibale = 0;
-////
+////
//// func/*invlaid12*/tion foo(arg1: number) {
//// ret/*invlaid13*/urn string;
//// }
////
//// class foo {
-////
+////
//// }
////
//// var object = {
@@ -44,9 +44,5 @@
//// };
////}
-
-test.markers().forEach((marker) => {
- goTo.position(marker.position, marker.fileName);
- verify.not.quickInfoExists();
-});
+goTo.eachMarker(() => verify.not.quickInfoExists());
diff --git a/tests/cases/fourslash/referencesForIndexProperty2.ts b/tests/cases/fourslash/referencesForIndexProperty2.ts
index 0aa099c9622..35c9d7cdd64 100644
--- a/tests/cases/fourslash/referencesForIndexProperty2.ts
+++ b/tests/cases/fourslash/referencesForIndexProperty2.ts
@@ -5,6 +5,4 @@
////var a;
////a["[|blah|]"];
-goTo.position(test.ranges()[0].start, test.ranges()[0].fileName);
-verify.referencesAre(test.ranges());
-
+verify.rangesReferenceEachOther();
diff --git a/tests/cases/fourslash/referencesInComment.ts b/tests/cases/fourslash/referencesInComment.ts
index c53a2e6d9b3..eabf74d2f23 100644
--- a/tests/cases/fourslash/referencesInComment.ts
+++ b/tests/cases/fourslash/referencesInComment.ts
@@ -5,6 +5,4 @@
////class foo { }
////var bar = 0;
-for (const marker of test.markers()) {
- verify.referencesAre([]);
-}
+goTo.eachMarker(() => verify.referencesAre([]));
diff --git a/tests/cases/fourslash/renameAlias.ts b/tests/cases/fourslash/renameAlias.ts
index e0408af656f..3869b1522b5 100644
--- a/tests/cases/fourslash/renameAlias.ts
+++ b/tests/cases/fourslash/renameAlias.ts
@@ -4,8 +4,4 @@
////import [|M|] = SomeModule;
////import C = [|M|].SomeClass;
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameAlias2.ts b/tests/cases/fourslash/renameAlias2.ts
index da1bcf8248d..f97121f5f7d 100644
--- a/tests/cases/fourslash/renameAlias2.ts
+++ b/tests/cases/fourslash/renameAlias2.ts
@@ -4,8 +4,4 @@
////import M = [|SomeModule|];
////import C = M.SomeClass;
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
\ No newline at end of file
diff --git a/tests/cases/fourslash/renameAlias3.ts b/tests/cases/fourslash/renameAlias3.ts
index 9172f052abb..af3bafef115 100644
--- a/tests/cases/fourslash/renameAlias3.ts
+++ b/tests/cases/fourslash/renameAlias3.ts
@@ -4,8 +4,4 @@
////import M = SomeModule;
////import C = M.[|SomeClass|];
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameAliasExternalModule.ts b/tests/cases/fourslash/renameAliasExternalModule.ts
index 54277fd6e64..49cc6396717 100644
--- a/tests/cases/fourslash/renameAliasExternalModule.ts
+++ b/tests/cases/fourslash/renameAliasExternalModule.ts
@@ -8,9 +8,4 @@
////import [|M|] = require("./a");
////import C = [|M|].SomeClass;
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.file(range.fileName);
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameAliasExternalModule2.ts b/tests/cases/fourslash/renameAliasExternalModule2.ts
index 2d9d07efb68..35916295a8e 100644
--- a/tests/cases/fourslash/renameAliasExternalModule2.ts
+++ b/tests/cases/fourslash/renameAliasExternalModule2.ts
@@ -8,9 +8,4 @@
////import M = require("./a");
////import C = M.SomeClass;
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.file(range.fileName);
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameAliasExternalModule3.ts b/tests/cases/fourslash/renameAliasExternalModule3.ts
index acff9371c77..53b28e7983e 100644
--- a/tests/cases/fourslash/renameAliasExternalModule3.ts
+++ b/tests/cases/fourslash/renameAliasExternalModule3.ts
@@ -8,9 +8,4 @@
////import M = require("./a");
////import C = M.[|SomeClass|];
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.file(range.fileName);
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameContextuallyTypedProperties.ts b/tests/cases/fourslash/renameContextuallyTypedProperties.ts
index 4feed49256f..4ce3c2b0738 100644
--- a/tests/cases/fourslash/renameContextuallyTypedProperties.ts
+++ b/tests/cases/fourslash/renameContextuallyTypedProperties.ts
@@ -55,9 +55,4 @@
//// set ["prop2"](v) { }
////};
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.file(range.fileName);
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameContextuallyTypedProperties2.ts b/tests/cases/fourslash/renameContextuallyTypedProperties2.ts
index 1887c7751a5..01e638395a0 100644
--- a/tests/cases/fourslash/renameContextuallyTypedProperties2.ts
+++ b/tests/cases/fourslash/renameContextuallyTypedProperties2.ts
@@ -55,9 +55,4 @@
//// set ["[|prop2|]"](v) { }
////};
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.file(range.fileName);
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDefaultImport.ts b/tests/cases/fourslash/renameDefaultImport.ts
index fd9534e65f7..8d9b65d78d6 100644
--- a/tests/cases/fourslash/renameDefaultImport.ts
+++ b/tests/cases/fourslash/renameDefaultImport.ts
@@ -1,19 +1,14 @@
///
-// @Filename: B.ts
-////export default class [|B|] {
-//// test() {
-//// }
-////}
+// @Filename: B.ts
+////export default class [|B|] {
+//// test() {
+//// }
+////}
-// @Filename: A.ts
-////import [|B|] from "./B";
-////let b = new [|B|]();
+// @Filename: A.ts
+////import [|B|] from "./B";
+////let b = new [|B|]();
////b.test();
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.file(range.fileName);
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDefaultImportDifferentName.ts b/tests/cases/fourslash/renameDefaultImportDifferentName.ts
index 5965f1a63e9..aec699aadda 100644
--- a/tests/cases/fourslash/renameDefaultImportDifferentName.ts
+++ b/tests/cases/fourslash/renameDefaultImportDifferentName.ts
@@ -1,23 +1,17 @@
///
-// @Filename: B.ts
-////export default class /*1*/C {
-//// test() {
-//// }
-////}
+// @Filename: B.ts
+////export default class /*1*/C {
+//// test() {
+//// }
+////}
-// @Filename: A.ts
-////import [|B|] from "./B";
-////let b = new [|B|]();
+// @Filename: A.ts
+////import [|B|] from "./B";
+////let b = new [|B|]();
////b.test();
-goTo.file("B.ts");
goTo.marker("1");
verify.occurrencesAtPositionCount(1);
-goTo.file("A.ts");
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringAssignment.ts b/tests/cases/fourslash/renameDestructuringAssignment.ts
index b7b18f661d2..89a44a3a9d9 100644
--- a/tests/cases/fourslash/renameDestructuringAssignment.ts
+++ b/tests/cases/fourslash/renameDestructuringAssignment.ts
@@ -1,14 +1,10 @@
///
-////interface I {
-//// [|x|]: number;
-////}
-////var a: I;
-////var x;
+////interface I {
+//// [|x|]: number;
+////}
+////var a: I;
+////var x;
////({ [|x|]: x } = a);
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringAssignmentInFor2.ts b/tests/cases/fourslash/renameDestructuringAssignmentInFor2.ts
index ca75e42394b..4d79b47a267 100644
--- a/tests/cases/fourslash/renameDestructuringAssignmentInFor2.ts
+++ b/tests/cases/fourslash/renameDestructuringAssignmentInFor2.ts
@@ -1,20 +1,16 @@
///
-////interface I {
-//// property1: number;
-//// property2: string;
-////}
-////var elems: I[];
-////
-////var p2: number, [|property1|]: number;
-////for ({ [|property1|] } = elems[0]; p2 < 100; p2++) {
-//// p2 = [|property1|]++;
+////interface I {
+//// property1: number;
+//// property2: string;
////}
-////for ({ property1: p2 } = elems[0]; p2 < 100; p2++) {
+////var elems: I[];
+////
+////var p2: number, [|property1|]: number;
+////for ({ [|property1|] } = elems[0]; p2 < 100; p2++) {
+//// p2 = [|property1|]++;
+////}
+////for ({ property1: p2 } = elems[0]; p2 < 100; p2++) {
////}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringAssignmentInForOf2.ts b/tests/cases/fourslash/renameDestructuringAssignmentInForOf2.ts
index 401b6776d2e..9987a17d36e 100644
--- a/tests/cases/fourslash/renameDestructuringAssignmentInForOf2.ts
+++ b/tests/cases/fourslash/renameDestructuringAssignmentInForOf2.ts
@@ -1,20 +1,16 @@
///
-////interface I {
-//// property1: number;
-//// property2: string;
-////}
-////var elems: I[];
-////
-////var [|property1|]: number, p2: number;
-////for ({ [|property1|] } of elems) {
-//// [|property1|]++;
+////interface I {
+//// property1: number;
+//// property2: string;
////}
-////for ({ property1: p2 } of elems) {
+////var elems: I[];
+////
+////var [|property1|]: number, p2: number;
+////for ({ [|property1|] } of elems) {
+//// [|property1|]++;
+////}
+////for ({ property1: p2 } of elems) {
////}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringAssignmentNestedInArrayLiteral2.ts b/tests/cases/fourslash/renameDestructuringAssignmentNestedInArrayLiteral2.ts
index c4db2de512f..e45ae3349a4 100644
--- a/tests/cases/fourslash/renameDestructuringAssignmentNestedInArrayLiteral2.ts
+++ b/tests/cases/fourslash/renameDestructuringAssignmentNestedInArrayLiteral2.ts
@@ -1,15 +1,11 @@
///
-////interface I {
-//// property1: number;
-//// property2: string;
-////}
-////var elems: I[], p1: number, [|property1|]: number;
-////[{ property1: p1 }] = elems;
-////[{ [|property1|] }] = elems;
+////interface I {
+//// property1: number;
+//// property2: string;
+////}
+////var elems: I[], p1: number, [|property1|]: number;
+////[{ property1: p1 }] = elems;
+////[{ [|property1|] }] = elems;
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringAssignmentNestedInFor2.ts b/tests/cases/fourslash/renameDestructuringAssignmentNestedInFor2.ts
index 89dc899c5bf..2ec7d906ad1 100644
--- a/tests/cases/fourslash/renameDestructuringAssignmentNestedInFor2.ts
+++ b/tests/cases/fourslash/renameDestructuringAssignmentNestedInFor2.ts
@@ -1,5 +1,5 @@
-///
-
+///
+
////interface MultiRobot {
//// name: string;
//// skills: {
@@ -14,10 +14,5 @@
////for ({ skills: { [|primary|], secondary } } = multiRobot, i = 0; i < 1; i++) {
//// console.log([|primary|]);
////}
-
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
-
+
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringAssignmentNestedInForOf2.ts b/tests/cases/fourslash/renameDestructuringAssignmentNestedInForOf2.ts
index b684e6b6a81..5364cffebb9 100644
--- a/tests/cases/fourslash/renameDestructuringAssignmentNestedInForOf2.ts
+++ b/tests/cases/fourslash/renameDestructuringAssignmentNestedInForOf2.ts
@@ -1,5 +1,5 @@
-///
-
+///
+
////interface MultiRobot {
//// name: string;
//// skills: {
@@ -14,10 +14,6 @@
////for ({ skills: { [|primary|], secondary } } of multiRobots) {
//// console.log([|primary|]);
////}
-
-
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+
+
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringClassProperty.ts b/tests/cases/fourslash/renameDestructuringClassProperty.ts
index acc58f999c4..11261a4df78 100644
--- a/tests/cases/fourslash/renameDestructuringClassProperty.ts
+++ b/tests/cases/fourslash/renameDestructuringClassProperty.ts
@@ -1,5 +1,5 @@
-///
-
+///
+
////class A {
//// [|foo|]: string;
////}
@@ -14,10 +14,6 @@
//// let { [|foo|] } = a;
//// [|foo|] = "newString";
//// }
-////}
-
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+////}
+
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringDeclarationInFor.ts b/tests/cases/fourslash/renameDestructuringDeclarationInFor.ts
index 0edf9085092..0338433ae72 100644
--- a/tests/cases/fourslash/renameDestructuringDeclarationInFor.ts
+++ b/tests/cases/fourslash/renameDestructuringDeclarationInFor.ts
@@ -1,20 +1,16 @@
///
-////interface I {
-//// [|property1|]: number;
-//// property2: string;
-////}
-////var elems: I[];
-////
-////var p2: number, property1: number;
-////for (let { [|property1|]: p2 } = elems[0]; p2 < 100; p2++) {
+////interface I {
+//// [|property1|]: number;
+//// property2: string;
////}
-////for (let { [|property1|] } = elems[0]; p2 < 100; p2++) {
-//// [|property1|] = p2;
+////var elems: I[];
+////
+////var p2: number, property1: number;
+////for (let { [|property1|]: p2 } = elems[0]; p2 < 100; p2++) {
+////}
+////for (let { [|property1|] } = elems[0]; p2 < 100; p2++) {
+//// [|property1|] = p2;
////}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringDeclarationInForOf.ts b/tests/cases/fourslash/renameDestructuringDeclarationInForOf.ts
index 1c2b04b7ab5..fcd55a5bc20 100644
--- a/tests/cases/fourslash/renameDestructuringDeclarationInForOf.ts
+++ b/tests/cases/fourslash/renameDestructuringDeclarationInForOf.ts
@@ -1,19 +1,15 @@
///
-////interface I {
-//// [|property1|]: number;
-//// property2: string;
-////}
-////var elems: I[];
-////
-////for (let { [|property1|] } of elems) {
-//// [|property1|]++;
+////interface I {
+//// [|property1|]: number;
+//// property2: string;
////}
-////for (let { [|property1|]: p2 } of elems) {
+////var elems: I[];
+////
+////for (let { [|property1|] } of elems) {
+//// [|property1|]++;
+////}
+////for (let { [|property1|]: p2 } of elems) {
////}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringFunctionParameter.ts b/tests/cases/fourslash/renameDestructuringFunctionParameter.ts
index d1df0f58275..4abbabc3723 100644
--- a/tests/cases/fourslash/renameDestructuringFunctionParameter.ts
+++ b/tests/cases/fourslash/renameDestructuringFunctionParameter.ts
@@ -1,10 +1,7 @@
///
-////function f({[|a|]}: {[|a|]}) {
-//// f({[|a|]});
+////function f({[|a|]}: {[|a|]}) {
+//// f({[|a|]});
////}
-let ranges = test.ranges();
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameDestructuringNestedBindingElement.ts b/tests/cases/fourslash/renameDestructuringNestedBindingElement.ts
index 1c4254b14ae..7557744ecee 100644
--- a/tests/cases/fourslash/renameDestructuringNestedBindingElement.ts
+++ b/tests/cases/fourslash/renameDestructuringNestedBindingElement.ts
@@ -1,5 +1,5 @@
-///
-
+///
+
////interface MultiRobot {
//// name: string;
//// skills: {
@@ -13,10 +13,6 @@
////}
////for (let { skills: {[|primary|], secondary } } of multiRobots) {
//// console.log([|primary|]);
-////}
-
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+////}
+
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameForDefaultExport01.ts b/tests/cases/fourslash/renameForDefaultExport01.ts
index 809c127a727..96f0d6e54e8 100644
--- a/tests/cases/fourslash/renameForDefaultExport01.ts
+++ b/tests/cases/fourslash/renameForDefaultExport01.ts
@@ -10,9 +10,4 @@
////
////var y = new /*3*/[|DefaultExportedClass|];
-let markers = test.markers()
-for (let marker of markers) {
- goTo.position(marker.position);
-
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ true);
-}
\ No newline at end of file
+goTo.eachMarker(() => verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ true));
\ No newline at end of file
diff --git a/tests/cases/fourslash/renameForDefaultExport02.ts b/tests/cases/fourslash/renameForDefaultExport02.ts
index ddf4b224023..471b10e32b2 100644
--- a/tests/cases/fourslash/renameForDefaultExport02.ts
+++ b/tests/cases/fourslash/renameForDefaultExport02.ts
@@ -11,9 +11,4 @@
////
////var y = /*4*/[|DefaultExportedFunction|]();
-let markers = test.markers()
-for (let marker of markers) {
- goTo.position(marker.position);
-
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ true);
-}
\ No newline at end of file
+goTo.eachMarker(() => verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ true));
\ No newline at end of file
diff --git a/tests/cases/fourslash/renameForDefaultExport03.ts b/tests/cases/fourslash/renameForDefaultExport03.ts
index 6f82d96fe5e..1da6ff20b0b 100644
--- a/tests/cases/fourslash/renameForDefaultExport03.ts
+++ b/tests/cases/fourslash/renameForDefaultExport03.ts
@@ -17,9 +17,4 @@
//// var local = 100;
////}
-let markers = test.markers()
-for (let marker of markers) {
- goTo.position(marker.position);
-
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ true);
-}
\ No newline at end of file
+goTo.eachMarker(() => verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ true));
\ No newline at end of file
diff --git a/tests/cases/fourslash/renameImportAndExport.ts b/tests/cases/fourslash/renameImportAndExport.ts
index 495e15c1e7e..fe8bce4b208 100644
--- a/tests/cases/fourslash/renameImportAndExport.ts
+++ b/tests/cases/fourslash/renameImportAndExport.ts
@@ -3,8 +3,4 @@
////import [|a|] from "module";
////export { [|a|] };
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameImportAndShorthand.ts b/tests/cases/fourslash/renameImportAndShorthand.ts
index bc4746aebdd..4836d8c14fe 100644
--- a/tests/cases/fourslash/renameImportAndShorthand.ts
+++ b/tests/cases/fourslash/renameImportAndShorthand.ts
@@ -3,8 +3,4 @@
////import [|foo|] from 'bar';
////const bar = { [|foo|] };
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameImportNamespaceAndShorthand.ts b/tests/cases/fourslash/renameImportNamespaceAndShorthand.ts
index a6b06c11408..21cdc0fa820 100644
--- a/tests/cases/fourslash/renameImportNamespaceAndShorthand.ts
+++ b/tests/cases/fourslash/renameImportNamespaceAndShorthand.ts
@@ -3,8 +3,4 @@
////import * as [|foo|] from 'bar';
////const bar = { [|foo|] };
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameImportOfExportEquals.ts b/tests/cases/fourslash/renameImportOfExportEquals.ts
index 9d71ee907c8..192acefd6fd 100644
--- a/tests/cases/fourslash/renameImportOfExportEquals.ts
+++ b/tests/cases/fourslash/renameImportOfExportEquals.ts
@@ -11,8 +11,4 @@
//// export { [|N|] }; // Renaming N here would rename
////}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameImportRequire.ts b/tests/cases/fourslash/renameImportRequire.ts
index c26cc80b616..8a9aeebc328 100644
--- a/tests/cases/fourslash/renameImportRequire.ts
+++ b/tests/cases/fourslash/renameImportRequire.ts
@@ -1,12 +1,8 @@
///
-////import [|e|] = require("mod4");
-////[|e|];
-////a = { [|e|] };
+////import [|e|] = require("mod4");
+////[|e|];
+////a = { [|e|] };
////export { [|e|] };
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameInheritedProperties1.ts b/tests/cases/fourslash/renameInheritedProperties1.ts
index 4698fe3d97b..b42335277a9 100644
--- a/tests/cases/fourslash/renameInheritedProperties1.ts
+++ b/tests/cases/fourslash/renameInheritedProperties1.ts
@@ -7,9 +7,4 @@
//// var v: class1;
//// v.[|propName|];
-const ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (const range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameInheritedProperties2.ts b/tests/cases/fourslash/renameInheritedProperties2.ts
index ed99ec3e013..bcc4c5fc323 100644
--- a/tests/cases/fourslash/renameInheritedProperties2.ts
+++ b/tests/cases/fourslash/renameInheritedProperties2.ts
@@ -7,9 +7,4 @@
//// var v: class1;
//// v.[|doStuff|]();
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameInheritedProperties3.ts b/tests/cases/fourslash/renameInheritedProperties3.ts
index 17e7785fbc7..f1ec547d6ed 100644
--- a/tests/cases/fourslash/renameInheritedProperties3.ts
+++ b/tests/cases/fourslash/renameInheritedProperties3.ts
@@ -7,9 +7,4 @@
//// var v: interface1;
//// v.[|propName|];
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameInheritedProperties4.ts b/tests/cases/fourslash/renameInheritedProperties4.ts
index ea2f7c40fbf..42d9acfdb53 100644
--- a/tests/cases/fourslash/renameInheritedProperties4.ts
+++ b/tests/cases/fourslash/renameInheritedProperties4.ts
@@ -7,9 +7,4 @@
//// var v: interface1;
//// v.[|doStuff|]();
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameInheritedProperties5.ts b/tests/cases/fourslash/renameInheritedProperties5.ts
index 45058827747..e153742d4ed 100644
--- a/tests/cases/fourslash/renameInheritedProperties5.ts
+++ b/tests/cases/fourslash/renameInheritedProperties5.ts
@@ -9,9 +9,5 @@
//// var d: D;
//// d.[|propD|];
-const ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (const range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
+
diff --git a/tests/cases/fourslash/renameInheritedProperties6.ts b/tests/cases/fourslash/renameInheritedProperties6.ts
index 6bdd32ce3e0..59318334cb0 100644
--- a/tests/cases/fourslash/renameInheritedProperties6.ts
+++ b/tests/cases/fourslash/renameInheritedProperties6.ts
@@ -9,9 +9,4 @@
//// var d: D;
//// d.[|propC|];
-const ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (const range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameInheritedProperties7.ts b/tests/cases/fourslash/renameInheritedProperties7.ts
index a2f8c5a2b51..bc0521458f8 100644
--- a/tests/cases/fourslash/renameInheritedProperties7.ts
+++ b/tests/cases/fourslash/renameInheritedProperties7.ts
@@ -3,17 +3,12 @@
//// class C extends D {
//// [|prop1|]: string;
//// }
-////
+////
//// class D extends C {
//// prop1: string;
//// }
-////
+////
//// var c: C;
//// c.[|prop1|];
-const ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (const range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameInheritedProperties8.ts b/tests/cases/fourslash/renameInheritedProperties8.ts
index 119e1a477aa..7cde300bf0b 100644
--- a/tests/cases/fourslash/renameInheritedProperties8.ts
+++ b/tests/cases/fourslash/renameInheritedProperties8.ts
@@ -3,17 +3,12 @@
//// class C implements D {
//// [|prop1|]: string;
//// }
-////
+////
//// interface D extends C {
//// [|prop1|]: string;
//// }
-////
+////
//// var c: C;
//// c.[|prop1|];
-const ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (const range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameLocationsForClassExpression01.ts b/tests/cases/fourslash/renameLocationsForClassExpression01.ts
index b95040085c9..b0f2f509500 100644
--- a/tests/cases/fourslash/renameLocationsForClassExpression01.ts
+++ b/tests/cases/fourslash/renameLocationsForClassExpression01.ts
@@ -11,7 +11,7 @@
//// static doItStatically() {
//// return [|Foo|].y;
//// }
-////}
+////}
////
////var y = class {
//// getSomeName() {
@@ -20,8 +20,4 @@
////}
////var z = class Foo {}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameLocationsForFunctionExpression01.ts b/tests/cases/fourslash/renameLocationsForFunctionExpression01.ts
index e884783d960..1e02e3f5284 100644
--- a/tests/cases/fourslash/renameLocationsForFunctionExpression01.ts
+++ b/tests/cases/fourslash/renameLocationsForFunctionExpression01.ts
@@ -4,9 +4,4 @@
//// [|f|]([|f|], g);
////}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
-
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameLocationsForFunctionExpression02.ts b/tests/cases/fourslash/renameLocationsForFunctionExpression02.ts
index 8186611cb64..a258bcd803d 100644
--- a/tests/cases/fourslash/renameLocationsForFunctionExpression02.ts
+++ b/tests/cases/fourslash/renameLocationsForFunctionExpression02.ts
@@ -1,7 +1,7 @@
///
////function f() {
-////
+////
////}
////var x = function [|f|](g: any, h: any) {
////
@@ -10,9 +10,4 @@
//// let foo = () => [|f|]([|f|], g);
////}
-let ranges = test.ranges()
-for (let range of ranges) {
- goTo.position(range.start);
-
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts b/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts
index 535dbd3d5a3..4ae87f19db5 100644
--- a/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts
+++ b/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts
@@ -8,7 +8,4 @@
////var foo: I;
////var { [|property1|]: prop1 } = foo;
-for (let range of test.ranges()) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameObjectSpread.ts b/tests/cases/fourslash/renameObjectSpread.ts
index eba148c0e39..f56c22dd42f 100644
--- a/tests/cases/fourslash/renameObjectSpread.ts
+++ b/tests/cases/fourslash/renameObjectSpread.ts
@@ -10,11 +10,11 @@ const ranges = test.ranges();
verify.assertHasRanges(ranges);
// A1 unions with A2, so rename A1.a and a12.a
-goTo.position(ranges[0].start);
+goTo.rangeStart(ranges[0]);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[2]]);
// A1 unions with A2, so rename A2.a and a12.a
-goTo.position(ranges[1].start);
+goTo.rangeStart(ranges[1]);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[1], ranges[2]]);
// a12.a unions A1.a and A2.a, so rename A1.a, A2.a and a12.a
-goTo.position(ranges[2].start);
+goTo.rangeStart(ranges[2]);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[1], ranges[2]]);
diff --git a/tests/cases/fourslash/renameObjectSpreadAssignment.ts b/tests/cases/fourslash/renameObjectSpreadAssignment.ts
index 9cf0b6ebf81..2ddebb6e18b 100644
--- a/tests/cases/fourslash/renameObjectSpreadAssignment.ts
+++ b/tests/cases/fourslash/renameObjectSpreadAssignment.ts
@@ -5,16 +5,18 @@
////let [|a1|]: A1;
////let [|a2|]: A2;
////let a12 = { ...[|a1|], ...[|a2|] };
+
const ranges = test.ranges();
verify.assertHasRanges(ranges);
+
// rename a1
-goTo.position(ranges[0].start);
+goTo.rangeStart(ranges[0]);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[2]]);
-goTo.position(ranges[2].start);
+goTo.rangeStart(ranges[2]);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[0], ranges[2]]);
// rename a2
-goTo.position(ranges[1].start);
+goTo.rangeStart(ranges[1]);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[1], ranges[3]]);
-goTo.position(ranges[3].start);
+goTo.rangeStart(ranges[3]);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [ranges[1], ranges[3]]);
diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts
index 42bfbf63a47..14f8a240bfb 100644
--- a/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts
+++ b/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts
@@ -7,9 +7,4 @@
//// }
//// }
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts
index e7ef9d1c1a2..ce31ad6c9c5 100644
--- a/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts
+++ b/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts
@@ -7,9 +7,4 @@
//// }
//// }
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts
index 9446e2aeb75..6291eff2605 100644
--- a/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts
+++ b/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts
@@ -7,9 +7,4 @@
//// }
//// }
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts
index 7fb4b8c757d..ca201d28b2c 100644
--- a/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts
+++ b/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts
@@ -6,9 +6,4 @@
//// }
//// }
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts
index b7c47a4c0d7..f989e7c3fd9 100644
--- a/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts
+++ b/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts
@@ -6,9 +6,4 @@
//// }
//// }
-let ranges = test.ranges();
-verify.assertHasRanges(ranges);
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameRest.ts b/tests/cases/fourslash/renameRest.ts
index a5cc2c38683..60fc1bbb227 100644
--- a/tests/cases/fourslash/renameRest.ts
+++ b/tests/cases/fourslash/renameRest.ts
@@ -7,9 +7,5 @@
////let t: Gen;
////var { x, ...rest } = t;
////rest.[|parent|];
-const ranges = test.ranges();
-verify.assertHasRanges(ranges);
-goTo.position(ranges[0].start);
-verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, ranges);
-goTo.position(ranges[1].start);
-verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, ranges);
+
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameStingPropertyNames.ts b/tests/cases/fourslash/renameStingPropertyNames.ts
index a948220efad..13863b043e7 100644
--- a/tests/cases/fourslash/renameStingPropertyNames.ts
+++ b/tests/cases/fourslash/renameStingPropertyNames.ts
@@ -12,9 +12,4 @@
////o['[|prop|]'];
////o.[|prop|];
-
-let ranges = test.ranges();
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameStringLiteralTypes.ts b/tests/cases/fourslash/renameStringLiteralTypes.ts
index f9df83371c1..d0e7368f25d 100644
--- a/tests/cases/fourslash/renameStringLiteralTypes.ts
+++ b/tests/cases/fourslash/renameStringLiteralTypes.ts
@@ -11,8 +11,4 @@
////
////animate({ deltaX: 100, deltaY: 100, easing: "[|ease-in-out|]" });
-let ranges = test.ranges();
-for (let range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/renameThis.ts b/tests/cases/fourslash/renameThis.ts
index f567cace70d..c4e5d932261 100644
--- a/tests/cases/fourslash/renameThis.ts
+++ b/tests/cases/fourslash/renameThis.ts
@@ -8,7 +8,7 @@
let [r0, r1, r2, r3] = test.ranges()
for (let range of [r0, r1]) {
- goTo.position(range.start);
+ goTo.rangeStart(range);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [r0, r1]);
}
@@ -17,6 +17,6 @@ goTo.marker();
verify.renameInfoFailed("You cannot rename this element.");
for (let range of [r2, r3]) {
- goTo.position(range.start);
+ goTo.rangeStart(range);
verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false, [r2, r3]);
}
diff --git a/tests/cases/fourslash/renameUMDModuleAlias1.ts b/tests/cases/fourslash/renameUMDModuleAlias1.ts
index 94aabcdbde5..c44e459b008 100644
--- a/tests/cases/fourslash/renameUMDModuleAlias1.ts
+++ b/tests/cases/fourslash/renameUMDModuleAlias1.ts
@@ -10,8 +10,4 @@
//// ///
//// [|myLib|].doThing();
-const ranges = test.ranges()
-for (const range of ranges) {
- goTo.position(range.start);
- verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);
-}
\ No newline at end of file
+verify.rangesAreRenameLocations();
diff --git a/tests/cases/fourslash/server/occurrences01.ts b/tests/cases/fourslash/server/occurrences01.ts
index db2fa64f38d..f6e39d55b91 100644
--- a/tests/cases/fourslash/server/occurrences01.ts
+++ b/tests/cases/fourslash/server/occurrences01.ts
@@ -10,13 +10,4 @@
//// continue foo;
////}
-let ranges = test.ranges();
-
-for (let r of ranges) {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(ranges.length);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range, /*isWriteAccess*/ false);
- }
-}
\ No newline at end of file
+verify.rangesAreOccurrences(false);
diff --git a/tests/cases/fourslash/server/occurrences02.ts b/tests/cases/fourslash/server/occurrences02.ts
index e0d39cb92fd..4cf8f1bcac3 100644
--- a/tests/cases/fourslash/server/occurrences02.ts
+++ b/tests/cases/fourslash/server/occurrences02.ts
@@ -4,13 +4,4 @@
//// [|f|]([|f|]);
////}
-let ranges = test.ranges();
-
-for (let r of ranges) {
- goTo.position(r.start);
- verify.occurrencesAtPositionCount(ranges.length);
-
- for (let range of ranges) {
- verify.occurrencesAtPositionContains(range);
- }
-}
\ No newline at end of file
+verify.rangesAreOccurrences();
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts
index 39644ba8c24..87c9262f893 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplates1.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f `/*1*/ qwe/*2*/rty /*3*/$/*4*/{ 123 }/*5*/ as/*6*/df /*7*/$/*8*/{ 41234 }/*9*/ zxc/*10*/vb /*11*/$/*12*/{ g ` ` }/*13*/ /*14*/ /*15*/`
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts
index 123a6cc4c2c..ef306a22934 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplates2.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f `/*1*/ qwe/*2*/rty /*3*/$/*4*/{ 123 }/*5*/ as/*6*/df /*7*/$/*8*/{ 41234 }/*9*/ zxc/*10*/vb /*11*/$/*12*/{ g ` ` }/*13*/ /*14*/ /*15*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts
index f203468ca04..7859fd6f457 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplates3.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` qwerty ${/*1*/ /*2*/123/*3*/ /*4*/} asdf ${ 41234 } zxcvb ${ g ` ` } `
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts
index 13ee47a3309..4c8ce2cd917 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplates4.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` qwerty ${ 123 } asdf ${/*1*/ /*2*/ /*3*/41/*4*/234/*5*/ /*6*/} zxcvb ${ g ` ` } `
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts
index 7cd2affd675..03ef244e719 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplates5.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` qwerty ${ 123 } asdf ${ 41234 } zxcvb ${/*1*/ /*2*/g/*3*/ /*4*/` `/*5*/ /*6*/} `
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts
index 7671666bb54..67ab1199be8 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplates6.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` qwerty ${ 123 } asdf ${ 41234 } zxcvb ${ g `/*1*/ /*2*/ /*3*/` } `
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(1);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts b/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts
index 35bed336f39..cd17ddd1027 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplates7.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f `/*1*/ /*2*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(1);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts
index 1da96ea5c1b..2995c6cdcd8 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete1.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
-//// f `/*1*/ /*2*/${
-
-test.markers().forEach(m => {
- goTo.position(m.position);
+////
+//// f `/*1*/ /*2*/${
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(2);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts
index 68ff7202f01..d1ceebfb1b0 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete2.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` ${/*1*/ /*2*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(2);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts
index 8165da7f67b..211fa66f594 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete3.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` ${ }/*1*/ /*2*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(2);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts
index 8c970b60c77..79432077ce9 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete4.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` ${ } ${/*1*/ /*2*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts
index f93da36ce5c..18ffdbe3bf0 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete5.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` ${ } ${ }/*1*/ /*2*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts
index 10d81eb80f4..fdd6f22554d 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete6.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` ${ 123 } ${/*1*/ } `
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts
index a8afe2d9c6d..9bc4a535564 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete7.ts
@@ -2,15 +2,13 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f ` ${ 123 } /*1*/${ } /*2*/\/*3*/
//// /*4*/\\/*5*/
//// /*6*/\\\/*7*/
//// /*8*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts
index 86455a65ccd..05ab05c3e6c 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete8.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f `/*1*/\/*2*/`/*3*/ /*4*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(1);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts
index de42a33b397..597ec928bb9 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesIncomplete9.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f `/*1*/ \\\/*2*/`/*3*/ /*4*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.signatureHelpArgumentCountIs(1);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts
index c61f1a871e4..10f9f81fa61 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives1.ts
@@ -2,10 +2,7 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// /*1*/f/*2*/ /*3*/` qwerty ${ 123 } asdf ${ 41234 } zxcvb ${ g ` ` } `/*4*/
-test.markers().forEach(m => {
- goTo.position(m.position);
- verify.not.signatureHelpPresent();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.not.signatureHelpPresent());
\ No newline at end of file
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts
index e7a5078dcd0..da21fda631c 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives2.ts
@@ -2,10 +2,7 @@
//// function foo(strs, ...rest) {
//// }
-////
+////
//// /*1*/fo/*2*/o /*3*/`abcd${0 + 1}abcd{1 + 1}`/*4*/ /*5*/
-test.markers().forEach(m => {
- goTo.position(m.position);
- verify.not.signatureHelpPresent();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.not.signatureHelpPresent());
\ No newline at end of file
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts
index c84b92fee4f..9ccbe927a57 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives3.ts
@@ -2,10 +2,7 @@
//// function foo(strs, ...rest) {
//// }
-////
+////
//// /*1*/fo/*2*/o /*3*/`abcd${0 + 1}abcd{1 + 1}abcd`/*4*/ /*5*/
-test.markers().forEach(m => {
- goTo.position(m.position);
- verify.not.signatureHelpPresent();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.not.signatureHelpPresent());
\ No newline at end of file
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts
index 338a8dc65ca..825afd265ab 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives4.ts
@@ -2,10 +2,7 @@
//// function foo(strs, ...rest) {
//// }
-////
+////
//// /*1*/fo/*2*/o /*3*/``/*4*/ /*5*/
-test.markers().forEach(m => {
- goTo.position(m.position);
- verify.not.signatureHelpPresent();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.not.signatureHelpPresent());
\ No newline at end of file
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts
index 02383df9267..5b14b627f6a 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNegatives5.ts
@@ -2,10 +2,7 @@
//// function foo(strs, ...rest) {
//// }
-////
+////
//// /*1*/fo/*2*/o /*3*/`abcd`/*4*/
-test.markers().forEach(m => {
- goTo.position(m.position);
- verify.not.signatureHelpPresent();
-});
\ No newline at end of file
+goTo.eachMarker(() => verify.not.signatureHelpPresent());
\ No newline at end of file
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts
index a3c9f7ccce4..313e55bf517 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested1.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f `a ${ g `/*1*/alpha/*2*/ ${/*3*/ 12/*4*/3 /*5*/} beta /*6*/${ /*7*/456 /*8*/} gamma/*9*/` } b ${ g `/*10*/txt/*11*/` } c ${ g `/*12*/aleph /*13*/$/*14*/{ 12/*15*/3 } beit/*16*/` } d`;
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.currentSignatureParameterCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts
index d72fa74d985..aa04e425998 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesNested2.ts
@@ -2,12 +2,10 @@
//// function f(templateStrings, x, y, z) { return 10; }
//// function g(templateStrings, x, y, z) { return ""; }
-////
+////
//// f `/*1*/a $/*2*/{ /*3*/g /*4*/`alpha ${ 123 } beta ${ 456 } gamma`/*5*/ }/*6*/ b $/*7*/{ /*8*/g /*9*/`txt`/*10*/ } /*11*/c ${ /*12*/g /*13*/`aleph ${ 123 } beit`/*14*/ } d/*15*/`;
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(1);
verify.currentSignatureParameterCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts
index 6850b1bc54f..54aee5887b8 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags1.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `/*1*/ /*2*/$/*3*/{
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(2);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts
index 8466c6b05f2..9cbd20a49d2 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags2.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `${/*1*/ /*2*/ /*3*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(2);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts
index b919afc7703..a9b91dbf438 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: TemplateStringsArray, p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `${/*1*/ "s/*2*/tring" /*3*/ } ${
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts
index a1072366a98..96ff7c4683a 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags4.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `${/*1*/ 123.456/*2*/ /*3*/ } ${
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts
index 2646e70b39c..52a1e3f74be 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags5.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `${ } ${/*1*/ /*2*/ /*3*/
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts
index 62410a5fda3..b34df14e926 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags6.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `${ } ${/*1*/ /*2*/ /*3*/}
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts
index 5f706b8c0fa..26a80e36f6f 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: TemplateStringsArray, p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `${ } ${/*1*/ fa/*2*/lse /*3*/}
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts
index 8000f15d3c6..6b9daa60dcc 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags8.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
+////
//// f `${ undefined } ${ undefined } ${/*1*/ 10/*2*/./*3*/01 /*4*/} `
-test.markers().forEach(m => {
- goTo.position(m.position);
-
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(4);
diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts
index aee06c1df53..cbcc55a2f22 100644
--- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts
+++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags9.ts
@@ -4,12 +4,10 @@
//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string;
//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean;
//// function f(...foo[]: any) { return ""; }
-////
-//// f `${/*1*/ /*2*/ /*3*/} ${
-
-test.markers().forEach(m => {
- goTo.position(m.position);
+////
+//// f `${/*1*/ /*2*/ /*3*/} ${
+goTo.eachMarker(() => {
verify.signatureHelpCountIs(3);
verify.signatureHelpArgumentCountIs(3);
diff --git a/tests/cases/fourslash_old/completionListGenericConstraintsNames.ts b/tests/cases/fourslash_old/completionListGenericConstraintsNames.ts
index 3e60456f389..92d288dcb2a 100644
--- a/tests/cases/fourslash_old/completionListGenericConstraintsNames.ts
+++ b/tests/cases/fourslash_old/completionListGenericConstraintsNames.ts
@@ -17,9 +17,8 @@
//// }
////}
- test.markers().forEach((marker) => {
- goTo.position(marker.position, marker.fileName);
- verify.memberListContains("T");
- verify.memberListContains("U");
- verify.memberListContains("M");
+goTo.eachMarker(() => {
+ verify.memberListContains("T");
+ verify.memberListContains("U");
+ verify.memberListContains("M");
});