TypeScript/tests/cases/fourslash/referencesForInheritedProperties.ts
Andy Hanson 8515f7e2b5 Change find-all-references tests to test for groups
* Also always test for isWriteAccess and isDefinition
2017-01-31 06:59:16 -08:00

42 lines
1.4 KiB
TypeScript

/// <reference path='fourslash.ts'/>
////interface interface1 {
//// [|{| "isWriteAccess": true, "isDefinition": true |}doStuff|](): void;
////}
////
////interface interface2 extends interface1{
//// [|{| "isWriteAccess": true, "isDefinition": true |}doStuff|](): void;
////}
////
////class class1 implements interface2 {
//// [|{| "isWriteAccess": true, "isDefinition": true |}doStuff|]() {
////
//// }
////}
////
////class class2 extends class1 {
////
////}
////
////var v: class2;
////v.[|doStuff|]();
const ranges = test.ranges();
const [r0, r1, r2, r3] = ranges;
verify.referenceGroups(r0, [{ definition: "(method) interface1.doStuff(): void", ranges }]);
verify.referenceGroups(r1, [
{ definition: "(method) interface1.doStuff(): void", ranges: [r0] },
{ definition: "(method) interface2.doStuff(): void", ranges: [r1, r2, r3] }
]);
verify.referenceGroups(r2, [
{ definition: "(method) interface1.doStuff(): void", ranges: [r0] },
{ definition: "(method) interface2.doStuff(): void", ranges: [r1] },
{ definition: "(method) class1.doStuff(): void", ranges: [r2, r3] }
]);
verify.referenceGroups(r3, [
{ definition: "(method) interface1.doStuff(): void", ranges: [r0] },
{ definition: "(method) interface2.doStuff(): void", ranges: [r1] },
{ definition: "(method) class1.doStuff(): void", ranges: [r2] },
{ definition: "(method) class1.doStuff(): void", ranges: [r3] }
]);