diff --git a/tests/cases/fourslash/getOccurrencesAbstract.ts b/tests/cases/fourslash/getOccurrencesAbstract01.ts similarity index 74% rename from tests/cases/fourslash/getOccurrencesAbstract.ts rename to tests/cases/fourslash/getOccurrencesAbstract01.ts index 8746cf1b489..3e48ba4841a 100644 --- a/tests/cases/fourslash/getOccurrencesAbstract.ts +++ b/tests/cases/fourslash/getOccurrencesAbstract01.ts @@ -1,6 +1,8 @@ /// ////[|abstract|] class Animal { +//// [|abstract|] prop1; // Does not compile +//// [|abstract|] abstract(); //// [|abstract|] walk(): void; //// [|abstract|] makeSound(): void; ////} @@ -12,11 +14,11 @@ const ranges = test.ranges(); -for(let r of ranges) { +for (let r of ranges) { goTo.position(r.start); verify.occurrencesAtPositionCount(ranges.length); - for(let range of ranges) { + for (let range of ranges) { verify.occurrencesAtPositionContains(range, false); } } diff --git a/tests/cases/fourslash/getOccurrencesAbstract02.ts b/tests/cases/fourslash/getOccurrencesAbstract02.ts new file mode 100644 index 00000000000..8daafdbdc8e --- /dev/null +++ b/tests/cases/fourslash/getOccurrencesAbstract02.ts @@ -0,0 +1,29 @@ +/// + +////// Not valid TS (abstract methods can only appear in abstract classes) +////class Animal { +//// [|abstract|] walk(): void; +//// [|abstract|] makeSound(): void; +////} +////// abstract cannot appear here, won't get highlighted +////let c = /*1*/abstract class Foo { +//// /*2*/abstract foo(): void; +//// 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); + } +} + +goTo.marker("1"); +verify.occurrencesAtPositionCount(0); + +goTo.marker("2"); +verify.occurrencesAtPositionCount(2);