From 5a53c613e4322d28a9931aca67a10735843cbf16 Mon Sep 17 00:00:00 2001 From: Yui T Date: Thu, 17 Dec 2015 15:51:00 -0800 Subject: [PATCH] Add assertion to check that ranges-array is not empty so it doesn't silently fail --- src/harness/fourslash.ts | 4 ++++ .../findAllRefsParameterPropertyDeclaration1.ts | 13 ++++++++----- .../findAllRefsParameterPropertyDeclaration2.ts | 1 + .../findAllRefsParameterPropertyDeclaration3.ts | 7 ++++--- tests/cases/fourslash/fourslash.ts | 1 + .../renameParameterPropertyDeclaration1.ts | 3 ++- .../renameParameterPropertyDeclaration2.ts | 3 ++- .../renameParameterPropertyDeclaration3.ts | 3 ++- .../renameParameterPropertyDeclaration4.ts | 3 ++- .../renameParameterPropertyDeclaration5.ts | 3 ++- 10 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index 9d729345781..729d2052a92 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -2768,6 +2768,10 @@ namespace FourSlashInterface { this.state.verifyCompletionListItemsCountIsGreaterThan(count, this.negative); } + public assertRangesEmpty(ranges: FourSlash.Range[]) { + assert(ranges.length !== 0, "Ranges array is expected to be non-empty"); + } + public completionListIsEmpty() { this.state.verifyCompletionListIsEmpty(this.negative); } diff --git a/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration1.ts b/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration1.ts index 5034a57ae1d..828b143a4ce 100644 --- a/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration1.ts +++ b/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration1.ts @@ -7,12 +7,15 @@ //// } //// } -let ranges = test.ranges(); -for (let range of ranges) { +const ranges = test.ranges(); +verify.assertRangesEmpty(ranges); +for (const range of ranges) { goTo.position(range.start); - verify.referencesCountIs(ranges.length); - for (let expectedRange of ranges) { - verify.referencesAtPositionContains(expectedRange); + if (ranges.length) { + verify.referencesCountIs(ranges.length); + for (const expectedRange of ranges) { + verify.referencesAtPositionContains(expectedRange); + } } } \ No newline at end of file diff --git a/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration2.ts b/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration2.ts index 7db5ba13585..6b15b334c28 100644 --- a/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration2.ts +++ b/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration2.ts @@ -8,6 +8,7 @@ //// } let ranges = test.ranges(); +verify.assertRangesEmpty(ranges); for (let range of ranges) { goTo.position(range.start); diff --git a/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration3.ts b/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration3.ts index c2d8a06f658..1310841eed4 100644 --- a/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration3.ts +++ b/tests/cases/fourslash/findAllRefsParameterPropertyDeclaration3.ts @@ -7,12 +7,13 @@ //// } //// } -let ranges = test.ranges(); -for (let range of ranges) { +const ranges = test.ranges(); +verify.assertRangesEmpty(ranges); +for (const range of ranges) { goTo.position(range.start); verify.referencesCountIs(ranges.length); - for (let expectedRange of ranges) { + for (const expectedRange of ranges) { verify.referencesAtPositionContains(expectedRange); } } \ No newline at end of file diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index b9b379bd465..fcb221e8233 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -137,6 +137,7 @@ declare namespace FourSlashInterface { verifyDefinitionsName(name: string, containerName: string): void; } class verify extends verifyNegatable { + assertRangesEmpty(ranges: FourSlash.Range[]): void; caretAtMarker(markerName?: string): void; indentationIs(numberOfSpaces: number): void; indentationAtPositionIs(fileName: string, position: number, numberOfSpaces: number, indentStyle?: ts.IndentStyle): void; diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts index 4ca09b71e4b..37db51447ca 100644 --- a/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts +++ b/tests/cases/fourslash/renameParameterPropertyDeclaration1.ts @@ -7,7 +7,8 @@ //// } //// } -let ranges = test.ranges() +let ranges = test.ranges(); +verify.assertRangesEmpty(ranges); for (let range of ranges) { goTo.position(range.start); verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false); diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts index 695e3729f94..c5e44438ee3 100644 --- a/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts +++ b/tests/cases/fourslash/renameParameterPropertyDeclaration2.ts @@ -7,7 +7,8 @@ //// } //// } -let ranges = test.ranges() +let ranges = test.ranges(); +verify.assertRangesEmpty(ranges); for (let range of ranges) { goTo.position(range.start); verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false); diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts index 23971f0be27..2ca284f38d9 100644 --- a/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts +++ b/tests/cases/fourslash/renameParameterPropertyDeclaration3.ts @@ -7,7 +7,8 @@ //// } //// } -let ranges = test.ranges() +let ranges = test.ranges(); +verify.assertRangesEmpty(ranges); for (let range of ranges) { goTo.position(range.start); verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false); diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts index 4646de6123c..35d268532b9 100644 --- a/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts +++ b/tests/cases/fourslash/renameParameterPropertyDeclaration4.ts @@ -6,7 +6,8 @@ //// } //// } -let ranges = test.ranges() +let ranges = test.ranges(); +verify.assertRangesEmpty(ranges); for (let range of ranges) { goTo.position(range.start); verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false); diff --git a/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts b/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts index 6d73c7af072..d32e69ad0c5 100644 --- a/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts +++ b/tests/cases/fourslash/renameParameterPropertyDeclaration5.ts @@ -6,7 +6,8 @@ //// } //// } -let ranges = test.ranges() +let ranges = test.ranges(); +verify.assertRangesEmpty(ranges); for (let range of ranges) { goTo.position(range.start); verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false);