Add assertion to check that ranges-array is not empty so it doesn't silently fail

This commit is contained in:
Yui T 2015-12-17 15:51:00 -08:00
parent 479f7af4df
commit 5a53c613e4
10 changed files with 28 additions and 13 deletions

View file

@ -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);
}

View file

@ -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);
}
}
}

View file

@ -8,6 +8,7 @@
//// }
let ranges = test.ranges();
verify.assertRangesEmpty(ranges);
for (let range of ranges) {
goTo.position(range.start);

View file

@ -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);
}
}

View file

@ -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;

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);