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