TypeScript/tests/cases/fourslash/referencesForInheritedProperties5.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

29 lines
1.3 KiB
TypeScript

/// <reference path='fourslash.ts'/>
//// interface interface1 extends interface1 {
//// [|{| "isWriteAccess": true, "isDefinition": true |}doStuff|](): void;
//// [|{| "isWriteAccess": true, "isDefinition": true |}propName|]: string;
//// }
//// interface interface2 extends interface1 {
//// [|{| "isWriteAccess": true, "isDefinition": true |}doStuff|](): void;
//// [|{| "isWriteAccess": true, "isDefinition": true |}propName|]: string;
//// }
////
//// var v: interface1;
//// v.[|propName|];
//// v.[|doStuff|]();
const ranges = test.rangesByText();
const [m0, m1, m2] = ranges.get("doStuff");
const [p0, p1, p2] = ranges.get("propName");
verify.referenceGroups([m0, m2], [{ definition: "(method) interface1.doStuff(): void", ranges: [m0, m1, m2] }]);
verify.referenceGroups(m1, [
{ definition: "(method) interface1.doStuff(): void", ranges: [m0, m2] },
{ definition: "(method) interface2.doStuff(): void", ranges: [m1] }
]);
verify.referenceGroups([p0, p2], [{ definition: "(property) interface1.propName: string", ranges: [p0, p1, p2] }]);
verify.referenceGroups(p1, [
{ definition: "(property) interface1.propName: string", ranges: [p0, p2] },
{ definition: "(property) interface2.propName: string", ranges: [p1] }
]);