2017-01-26 20:02:08 +01:00
|
|
|
/// <reference path='fourslash.ts' />
|
|
|
|
// @noLib: true
|
|
|
|
|
|
|
|
////declare module "a" {
|
2019-06-13 21:25:02 +02:00
|
|
|
//// [|export class [|{| "isWriteAccess": true, "isDefinition": true, "contextRangeIndex": 0 |}C|] {}|]
|
2017-01-26 20:02:08 +01:00
|
|
|
////}
|
|
|
|
////declare module "b" {
|
2019-06-13 21:25:02 +02:00
|
|
|
//// [|export { [|{| "isWriteAccess": true, "isDefinition": true, "contextRangeIndex": 2 |}C|] } from "a";|]
|
2017-01-26 20:02:08 +01:00
|
|
|
////}
|
|
|
|
////declare module "c" {
|
2019-06-13 21:25:02 +02:00
|
|
|
//// [|import { [|{| "isWriteAccess": true, "isDefinition": true, "contextRangeIndex": 4 |}C|] } from "b";|]
|
2017-01-26 20:02:08 +01:00
|
|
|
//// export function f(c: [|C|]): void;
|
|
|
|
////}
|
|
|
|
|
|
|
|
verify.noErrors();
|
|
|
|
|
|
|
|
const ranges = test.ranges();
|
2019-05-31 23:40:59 +02:00
|
|
|
const [r0Def, r0, r1Def, r1, r2Def, r2, r3] = ranges;
|
2017-01-26 20:02:08 +01:00
|
|
|
const importRanges = [r2, r3];
|
2018-11-14 18:09:00 +01:00
|
|
|
verify.renameLocations(r0, [r0, { range: r1, suffixText: " as C" }]); //, r1
|
|
|
|
verify.renameLocations(r1, [{ range: r1, prefixText: "C as " }, r2, r3]);
|
|
|
|
verify.renameLocations(importRanges, [{ range: r2, prefixText: "C as " }, r3]);
|
|
|
|
|
2017-01-26 20:02:08 +01:00
|
|
|
const classes = { definition: "class C", ranges: [r0] };
|
2018-04-23 22:29:14 +02:00
|
|
|
const bs = { definition: "(alias) class C\nexport C", ranges: [r1] };
|
2017-10-26 02:50:11 +02:00
|
|
|
const imports = { definition: "(alias) class C\nimport C", ranges: importRanges };
|
2017-01-26 20:02:08 +01:00
|
|
|
verify.referenceGroups(r0, [classes, bs, imports]);
|
2019-12-12 00:11:27 +01:00
|
|
|
verify.referenceGroups(r1, [classes, bs, imports]);
|
2017-01-26 20:02:08 +01:00
|
|
|
verify.referenceGroups(importRanges, [imports, bs, classes]);
|