More tests
This commit is contained in:
parent
e4a2dd510f
commit
018026ad52
|
@ -4,13 +4,12 @@
|
|||
////declare module "jquery";
|
||||
|
||||
// @Filename: user.ts
|
||||
////import {[|{| "isWriteAccess": true, "isDefinition": true |}x|]} from "jquery";
|
||||
////[|import {[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|]} from "jquery";|]
|
||||
|
||||
// @Filename: user2.ts
|
||||
////import {[|{| "isWriteAccess": true, "isDefinition": true |}x|]} from "jquery";
|
||||
////[|import {[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}x|]} from "jquery";|]
|
||||
|
||||
const ranges = test.ranges();
|
||||
const [r0, r1] = ranges;
|
||||
const [r0Def, r0, r1Def, r1] = test.ranges();
|
||||
// TODO: Want these to be in the same group, but that would require creating a symbol for `x`.
|
||||
verify.singleReferenceGroup("(alias) module \"jquery\"\nimport x", [r0]);
|
||||
verify.singleReferenceGroup("(alias) module \"jquery\"\nimport x", [r1]);
|
|
@ -7,9 +7,9 @@
|
|||
////
|
||||
//// }
|
||||
////
|
||||
//// public /**/[|{| "isWriteAccess": true, "isDefinition": true |}start|](){
|
||||
//// [|public /**/[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}start|](){
|
||||
//// return this;
|
||||
//// }
|
||||
//// }|]
|
||||
////
|
||||
//// public stop(){
|
||||
//// return this;
|
||||
|
@ -33,5 +33,5 @@ cancellation.resetCancelled();
|
|||
checkRefs();
|
||||
|
||||
function checkRefs() {
|
||||
verify.singleReferenceGroup("(method) Test.start(): this");
|
||||
verify.singleReferenceGroup("(method) Test.start(): this", "start");
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
// @Filename: fileA.ts
|
||||
//// export function [|__foo|]() {
|
||||
//// }
|
||||
//// [|export function [|{| "declarationRangeIndex": 0 |}__foo|]() {
|
||||
//// }|]
|
||||
////
|
||||
// @Filename: fileB.ts
|
||||
//// import { [|__foo|] as bar } from "./fileA";
|
||||
//// [|import { [|{| "declarationRangeIndex": 2 |}__foo|] as bar } from "./fileA";|]
|
||||
////
|
||||
//// bar();
|
||||
|
||||
verify.rangesAreRenameLocations();
|
||||
verify.rangesWithSameTextAreRenameLocations("__foo");
|
||||
|
|
|
@ -2,25 +2,25 @@
|
|||
// @noImplicitReferences: true
|
||||
|
||||
// @Filename: /node_modules/a/index.d.ts
|
||||
////import [|{| "name": "useAX", "isWriteAccess": true, "isDefinition": true |}X|] from "x";
|
||||
////[|import [|{| "name": "useAX", "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}X|] from "x";|]
|
||||
////export function a(x: [|X|]): void;
|
||||
|
||||
// @Filename: /node_modules/a/node_modules/x/index.d.ts
|
||||
////export default class /*defAX*/[|{| "isWriteAccess": true, "isDefinition": true |}X|] {
|
||||
////[|export default class /*defAX*/[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 3 |}X|] {
|
||||
//// private x: number;
|
||||
////}
|
||||
////}|]
|
||||
|
||||
// @Filename: /node_modules/a/node_modules/x/package.json
|
||||
////{ "name": "x", "version": "1.2.3" }
|
||||
|
||||
// @Filename: /node_modules/b/index.d.ts
|
||||
////import [|{| "name": "useBX", "isWriteAccess": true, "isDefinition": true |}X|] from "x";
|
||||
////[|import [|{| "name": "useBX", "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 5 |}X|] from "x";|]
|
||||
////export const b: [|X|];
|
||||
|
||||
// @Filename: /node_modules/b/node_modules/x/index.d.ts
|
||||
////export default class /*defBX*/[|{| "isWriteAccess": true, "isDefinition": true |}X|] {
|
||||
////[|export default class /*defBX*/[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 8 |}X|] {
|
||||
//// private x: number;
|
||||
////}
|
||||
////}|]
|
||||
|
||||
// @Filename: /node_modules/b/node_modules/x/package.json
|
||||
////{ "name": "x", "version": "1.2.3" }
|
||||
|
@ -35,7 +35,7 @@ verify.numberOfErrorsInCurrentFile(0);
|
|||
verify.goToDefinition("useAX", "defAX");
|
||||
verify.goToDefinition("useBX", "defAX");
|
||||
|
||||
const [r0, r1, r2, r3, r4, r5] = test.ranges();
|
||||
const [r0Def, r0, r1, r2Def, r2, r3Def, r3, r4, r5Def, r5] = test.ranges();
|
||||
const aImport = { definition: "(alias) class X\nimport X", ranges: [r0, r1] };
|
||||
const def = { definition: "class X", ranges: [r2] };
|
||||
const bImport = { definition: "(alias) class X\nimport X", ranges: [r3, r4] };
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
// @Filename: /abc.d.ts
|
||||
////declare module "a" {
|
||||
//// export const [|{| "isWriteAccess": true, "isDefinition": true |}x|]: number;
|
||||
//// [|export const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|]: number;|]
|
||||
////}
|
||||
|
||||
// @Filename: /b.ts
|
||||
////import a from "a";
|
||||
////a.[|x|];
|
||||
|
||||
verify.singleReferenceGroup("const x: number");
|
||||
verify.singleReferenceGroup("const x: number", "x");
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
|
||||
// @Filename: /a.d.ts
|
||||
////export as namespace abc;
|
||||
////export const [|{| "isWriteAccess": true, "isDefinition": true |}x|]: number;
|
||||
////[|export const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|]: number;|]
|
||||
|
||||
// @Filename: /b.ts
|
||||
////import a from "./a";
|
||||
////a.[|x|];
|
||||
|
||||
verify.singleReferenceGroup('const x: number');
|
||||
verify.singleReferenceGroup('const x: number', "x");
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
//// class B {}
|
||||
//// function foo() {
|
||||
//// return {[|{| "isWriteAccess": true, "isDefinition": true |}B|]: B};
|
||||
//// return {[|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}B|]: B|]};
|
||||
//// }
|
||||
//// class C extends (foo()).[|B|] {}
|
||||
//// class C1 extends foo().[|B|] {}
|
||||
|
||||
verify.singleReferenceGroup("(property) B: typeof B");
|
||||
verify.singleReferenceGroup("(property) B: typeof B", "B");
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: foo.ts
|
||||
//// export function [|{| "isWriteAccess": true, "isDefinition": true |}bar|]() { return "bar"; }
|
||||
//// [|export function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}bar|]() { return "bar"; }|]
|
||||
|
||||
//// var x = import("./foo");
|
||||
//// x.then(foo => {
|
||||
//// foo.[|bar|]();
|
||||
//// })
|
||||
|
||||
verify.singleReferenceGroup("function bar(): string");
|
||||
verify.rangesAreRenameLocations();
|
||||
verify.singleReferenceGroup("function bar(): string", "bar");
|
||||
verify.rangesWithSameTextAreRenameLocations("bar");
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: foo.ts
|
||||
////export function [|{| "isWriteAccess": true, "isDefinition": true |}bar|]() { return "bar"; }
|
||||
////import('./foo').then(({ [|{| "isWriteAccess": true, "isDefinition": true |}bar|] }) => undefined);
|
||||
////[|export function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}bar|]() { return "bar"; }|]
|
||||
////import('./foo').then(([|{ [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}bar|] }|]) => undefined);
|
||||
|
||||
const [r0, r1] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1] = test.ranges();
|
||||
verify.referenceGroups(r0, [{ definition: "function bar(): string", ranges: [r0, r1] }]);
|
||||
verify.referenceGroups(r1, [
|
||||
{ definition: "function bar(): string", ranges: [r0] },
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
///<reference path="fourslash.ts" />
|
||||
// @allowJs: true
|
||||
// @Filename: Foo.js
|
||||
/////** @type {function ([|{|"isWriteAccess": true, "isDefinition": true|}new|]: string, string): string} */
|
||||
/////** @type {function ([|[|{|"isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0|}new|]: string|], string): string} */
|
||||
////var f;
|
||||
|
||||
const [a0] = test.ranges();
|
||||
const [a0Def, a0] = test.ranges();
|
||||
verify.singleReferenceGroup("(parameter) new: string", [a0]);
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
// @Filename: a.ts
|
||||
////export class C {
|
||||
//// [|constructor|](n: number);
|
||||
//// [|constructor|]();
|
||||
//// [|constructor|](n?: number){}
|
||||
//// [|[|{| "declarationRangeIndex": 0 |}constructor|](n: number);|]
|
||||
//// [|[|{| "declarationRangeIndex": 2 |}constructor|]();|]
|
||||
//// [|[|{| "declarationRangeIndex": 4 |}constructor|](n?: number){}|]
|
||||
//// static f() {
|
||||
//// this.f();
|
||||
//// new [|this|]();
|
||||
|
@ -40,8 +40,7 @@
|
|||
////new a.[|C|]();
|
||||
////class d extends a.C { constructor() { [|super|](); }
|
||||
|
||||
const ranges = test.ranges();
|
||||
const [a0, a1, a2, a3, a4, b0, c0, d0, d1] = ranges;
|
||||
const [a0Def, a0, a1Def, a1, a2Def, a2, a3, a4, b0, c0, d0, d1] = test.ranges();
|
||||
verify.referenceGroups([a0, a2], defs("class C"));
|
||||
verify.referenceGroups(a1, defs("class C"));
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/// <reference path="fourslash.ts" />
|
||||
|
||||
////class C {
|
||||
//// [|constructor|](n: number);
|
||||
//// [|constructor|](){}
|
||||
//// [|[|{| "declarationRangeIndex": 0 |}constructor|](n: number);|]
|
||||
//// [|[|{| "declarationRangeIndex": 2 |}constructor|](){}|]
|
||||
////}
|
||||
|
||||
verify.singleReferenceGroup("class C");
|
||||
verify.singleReferenceGroup("class C", "constructor");
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
// @esModuleInterop: true
|
||||
|
||||
// @Filename: /foo.ts
|
||||
////import [|{| "isWriteAccess": true, "isDefinition": true |}settings|] from "./settings.json";
|
||||
////[|import [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}settings|] from "./settings.json";|]
|
||||
////[|settings|];
|
||||
|
||||
// @Filename: /settings.json
|
||||
//// {}
|
||||
|
||||
verify.singleReferenceGroup("import settings");
|
||||
verify.singleReferenceGroup("import settings", "settings");
|
||||
|
|
|
@ -9,12 +9,12 @@
|
|||
|
||||
// @Filename: /node_modules/@types/three/index.d.ts
|
||||
////export * from "./three-core";
|
||||
////export as namespace [|{| "isWriteAccess": true, "isDefinition": true |}THREE|];
|
||||
////[|export as namespace [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}THREE|];|]
|
||||
|
||||
// @Filename: /typings/global.d.ts
|
||||
////import * as _THREE from '[|three|]';
|
||||
////declare global {
|
||||
//// const [|{| "isWriteAccess": true, "isDefinition": true |}THREE|]: typeof _THREE;
|
||||
//// [|const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 3 |}THREE|]: typeof _THREE;|]
|
||||
////}
|
||||
|
||||
// @Filename: /src/index.ts
|
||||
|
@ -38,7 +38,8 @@
|
|||
//// "files": ["/src/index.ts", "typings/global.d.ts"]
|
||||
////}
|
||||
|
||||
const [r0Def, r0, r1, r2Def, ...rest] = test.ranges();
|
||||
// GH#29533
|
||||
// TODO:: this should be var THREE: typeof import instead of module name as var but thats existing issue and repros with quickInfo too.
|
||||
verify.singleReferenceGroup(`module "/node_modules/@types/three/index"
|
||||
var "/node_modules/@types/three/index": typeof import("/node_modules/@types/three/index")`);
|
||||
var "/node_modules/@types/three/index": typeof import("/node_modules/@types/three/index")`, [r0, r1, ...rest]);
|
|
@ -1,7 +1,7 @@
|
|||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////import { [|ab|] as [|{| "isWriteAccess": true, "isDefinition": true |}cd|] } from "doesNotExist";
|
||||
////[|import { [|{| "declarationRangeIndex": 0 |}ab|] as [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}cd|] } from "doesNotExist";|]
|
||||
|
||||
const [r0, r1] = test.ranges();
|
||||
const [r0Def, r0, r1] = test.ranges();
|
||||
verify.referenceGroups(r0, undefined);
|
||||
verify.singleReferenceGroup("import cd", [r1]);
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /a.ts
|
||||
////export = class [|{| "isWriteAccess": true, "isDefinition": true |}A|] {
|
||||
////export = [|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}A|] {
|
||||
//// m() { [|A|]; }
|
||||
////};
|
||||
////}|];
|
||||
|
||||
// @Filename: /b.ts
|
||||
////import [|{| "isWriteAccess": true, "isDefinition": true |}A|] = require("./a");
|
||||
////[|import [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 3 |}A|] = require("./a");|]
|
||||
////[|A|];
|
||||
|
||||
const [r0, r1, r2, r3] = test.ranges();
|
||||
const [r0Def, r0, r1, r2Def, r2, r3] = test.ranges();
|
||||
const defs = { definition: "(local class) A", ranges: [r0, r1] };
|
||||
const imports = { definition: '(alias) (local class) A\nimport A = require("./a")', ranges: [r2, r3] };
|
||||
verify.referenceGroups([r0, r1], [defs, imports]);
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
// @allowJs: true
|
||||
|
||||
// @Filename: /a.js
|
||||
////module.exports = class [|{| "isWriteAccess": true, "isDefinition": true |}A|] {};
|
||||
////module.exports = [|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}A|] {}|];
|
||||
|
||||
// @Filename: /b.js
|
||||
////import [|{| "isWriteAccess": true, "isDefinition": true |}A|] = require("./a");
|
||||
////[|import [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}A|] = require("./a");|]
|
||||
////[|A|];
|
||||
|
||||
const [r0, r1, r2] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1, r2] = test.ranges();
|
||||
const defs = { definition: "(local class) A", ranges: [r0] };
|
||||
const imports = { definition: '(alias) (local class) A\nimport A = require("./a")', ranges: [r1, r2] };
|
||||
verify.referenceGroups([r0], [defs, imports]);
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
// @allowJs: true
|
||||
|
||||
// @Filename: /a.js
|
||||
////exports.[|{| "isWriteAccess": true, "isDefinition": true |}A|] = class {};
|
||||
////[|exports.[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}A|] = class {};|]
|
||||
|
||||
// @Filename: /b.js
|
||||
////import { [|{| "isWriteAccess": true, "isDefinition": true |}A|] } from "./a";
|
||||
////[|import { [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}A|] } from "./a";|]
|
||||
////[|A|];
|
||||
|
||||
const [r0, r1, r2] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1, r2] = test.ranges();
|
||||
const defs = { definition: "class A\n(property) A: typeof A", ranges: [r0] };
|
||||
const imports = { definition: "(alias) class A\n(alias) (property) A: typeof A\nimport A", ranges: [r1, r2] };
|
||||
verify.referenceGroups([r0], [defs, imports]);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/// <reference path="fourslash.ts" />
|
||||
|
||||
////class [|{| "isWriteAccess": true, "isDefinition": true |}C|] {
|
||||
////[|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}C|] {
|
||||
//// static s() {
|
||||
//// [|this|];
|
||||
//// }
|
||||
|
@ -10,9 +10,9 @@
|
|||
//// function inner() { this; }
|
||||
//// class Inner { x = this; }
|
||||
//// }
|
||||
////}
|
||||
////}|]
|
||||
|
||||
const [r0, r1, r2] = test.ranges();
|
||||
const [r0Def, r0, r1, r2] = test.ranges();
|
||||
verify.referenceGroups(r0, [{ definition: "class C", ranges: [r0, r1, r2] }]);
|
||||
verify.singleReferenceGroup("this: typeof C", [r1, r2]);
|
||||
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
// @Filename: /a.js
|
||||
////function f() {
|
||||
//// this.[|{| "isWriteAccess": true, "isDefinition": true |}x|] = 0;
|
||||
//// [|this.[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|] = 0;|]
|
||||
////}
|
||||
////f.prototype.setX = function() {
|
||||
//// this.[|{| "isWriteAccess": true, "isDefinition": true |}x|] = 1;
|
||||
//// [|this.[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}x|] = 1;|]
|
||||
////}
|
||||
////f.prototype.useX = function() { this.[|x|]; }
|
||||
|
||||
verify.singleReferenceGroup("(property) f.x: number");
|
||||
verify.singleReferenceGroup("(property) f.x: number", "x");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/// <reference path="fourslash.ts" />
|
||||
|
||||
////declare class [|{| "isWriteAccess": true, "isDefinition": true |}C|] {
|
||||
////[|declare class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}C|] {
|
||||
//// static m(): void;
|
||||
////}
|
||||
////}|]
|
||||
|
||||
verify.singleReferenceGroup("class C");
|
||||
verify.singleReferenceGroup("class C", "C");
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @Filename: /a.ts
|
||||
////export default function [|{| "isWriteAccess": true, "isDefinition": true |}a|]() {}
|
||||
////[|export default function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}a|]() {}|]
|
||||
|
||||
// @Filename: /b.ts
|
||||
////import [|{| "isWriteAccess": true, "isDefinition": true |}a|], * as ns from "./a";
|
||||
////[|import [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}a|], * as ns from "./a";|]
|
||||
|
||||
const [r0, r1] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1] = test.ranges();
|
||||
const a: FourSlashInterface.ReferenceGroup = { definition: "function a(): void", ranges: [r0] };
|
||||
const b: FourSlashInterface.ReferenceGroup = { definition: "(alias) function a(): void\nimport a", ranges: [r1] };
|
||||
verify.referenceGroups(r0, [a, b]);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /a.ts
|
||||
////export [|{| "isWriteAccess": true, "isDefinition": true |}default|] function [|{| "isWriteAccess": true, "isDefinition": true |}f|]() {}
|
||||
////[|export [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}default|] function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}f|]() {}|]
|
||||
|
||||
// @Filename: /b.ts
|
||||
////export import a = require("./a");
|
||||
|
@ -10,10 +10,10 @@
|
|||
////import { a } from "./b";
|
||||
////a.[|default|]();
|
||||
////
|
||||
////declare const x: { [|{| "isWriteAccess": true, "isDefinition": true |}default|]: number };
|
||||
////declare const x: { [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 4 |}default|]: number|] };
|
||||
////x.[|default|];
|
||||
|
||||
const [r0, r1, r2, r3, r4] = test.ranges();
|
||||
const [r0Def, r0, r1, r2, r3Def, r3, r4] = test.ranges();
|
||||
|
||||
verify.referenceGroups([r0], [{ definition: "function f(): void", ranges: [r0, r2] }]);
|
||||
verify.singleReferenceGroup("function f(): void", [r1, r2]);
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////const [|{| "isWriteAccess": true, "isDefinition": true |}x|] = 0;
|
||||
////[|const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|] = 0;|]
|
||||
////[|x|];
|
||||
|
||||
const ranges = test.ranges();
|
||||
const ranges = test.rangesByText().get("x");
|
||||
verify.referenceGroups(ranges, [
|
||||
{
|
||||
definition: { text: "const x: 0", range: ranges[0] },
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////interface I<T> {
|
||||
//// [|{| "isDefinition": true |}x|]: boolean;
|
||||
//// [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}x|]: boolean;|]
|
||||
////}
|
||||
////declare const i: I<number>;
|
||||
////const { [|{| "isWriteAccess": true, "isDefinition": true |}x|] } = i;
|
||||
////[|const { [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}x|] } = i;|]
|
||||
|
||||
const [r0, r1] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1] = test.ranges();
|
||||
|
||||
verify.referenceGroups(r0, [{ definition: "(property) I<T>.x: boolean", ranges: [r0, r1] }]);
|
||||
verify.referenceGroups(r1, [
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
/// <reference path="fourslash.ts" />
|
||||
|
||||
////class Test {
|
||||
//// get [|{| "isDefinition": true, "isWriteAccess": true |}x|]() { return 0; }
|
||||
//// [|get [|{| "isDefinition": true, "isWriteAccess": true, "declarationRangeIndex": 0 |}x|]() { return 0; }|]
|
||||
////
|
||||
//// set [|{| "isDefinition": true, "isWriteAccess": true |}y|](a: number) {}
|
||||
//// [|set [|{| "isDefinition": true, "isWriteAccess": true, "declarationRangeIndex": 2 |}y|](a: number) {}|]
|
||||
////}
|
||||
////const { [|{| "isDefinition": true, "isWriteAccess": true |}x|], [|{| "isDefinition": true, "isWriteAccess": true |}y|] } = new Test();
|
||||
////[|const { [|{| "isDefinition": true, "isWriteAccess": true, "declarationRangeIndex": 4 |}x|], [|{| "isDefinition": true, "isWriteAccess": true, "declarationRangeIndex": 4 |}y|] } = new Test();|]
|
||||
////[|x|]; [|y|];
|
||||
|
||||
const [x0, y0, x1, y1, x2, y2] = test.ranges();
|
||||
const [x0Def, x0, y0Def, y0, xy1Def, x1, y1, x2, y2] = test.ranges();
|
||||
verify.referenceGroups(x0, [{ definition: "(property) Test.x: number", ranges: [x0, x1] }]);
|
||||
verify.referenceGroups(x1, [
|
||||
{ definition: "(property) Test.x: number", ranges: [x0] },
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
// @Filename: /a.ts
|
||||
////class C {
|
||||
//// get [|{| "isWriteAccess": true, "isDefinition": true |}g|](): number { return 0; }
|
||||
//// [|get [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}g|](): number { return 0; }|]
|
||||
////
|
||||
//// set [|{| "isWriteAccess": true, "isDefinition": true |}s|](value: number) {}
|
||||
//// [|set [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}s|](value: number) {}|]
|
||||
////}
|
||||
////const { [|{| "isWriteAccess": true, "isDefinition": true |}g|], [|{| "isWriteAccess": true, "isDefinition": true |}s|] } = new C();
|
||||
////[|const { [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 4 |}g|], [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 4 |}s|] } = new C();|]
|
||||
|
||||
const [g0, s0, g1, s1] = test.ranges();
|
||||
const [g0Def, g0, s0Def, s0, gs1Def, g1, s1] = test.ranges();
|
||||
verify.quickInfoAt(g0, "(property) C.g: number");
|
||||
verify.referenceGroups(g0, [{ definition: "(property) C.g: number", ranges: [g0, g1] }]);
|
||||
verify.referenceGroups(g1, [
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
////
|
||||
//// }
|
||||
////
|
||||
//// public [|{| "isWriteAccess": true, "isDefinition": true |}start|](){
|
||||
//// [|public [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}start|](){
|
||||
//// return this;
|
||||
//// }
|
||||
//// }|]
|
||||
////
|
||||
//// public stop(){
|
||||
//// return this;
|
||||
|
@ -23,4 +23,4 @@
|
|||
////second.[|start|]();
|
||||
////second.stop();
|
||||
|
||||
verify.singleReferenceGroup("(method) Test.start(): this");
|
||||
verify.singleReferenceGroup("(method) Test.start(): this", "start");
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
///////<reference path="./Bar.ts" />
|
||||
|
||||
////function [|Bar|]() {
|
||||
////[|function [|{| "declarationRangeIndex": 0 |}Bar|]() {
|
||||
//// // This is a reference to Bar in a comment.
|
||||
//// "this is a reference to Bar in a string"
|
||||
////}
|
||||
////}|]
|
||||
|
||||
verify.rangesAreRenameLocations();
|
||||
verify.rangesWithSameTextAreRenameLocations("Bar");
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
////
|
||||
//// }
|
||||
////
|
||||
//// public [|{| "isWriteAccess": true, "isDefinition": true |}start|](){
|
||||
//// [|public [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}start|](){
|
||||
//// return this;
|
||||
//// }
|
||||
//// }|]
|
||||
////
|
||||
//// public stop(){
|
||||
//// return this;
|
||||
|
@ -23,4 +23,4 @@
|
|||
////second.[|start|]();
|
||||
////second.stop();
|
||||
|
||||
verify.singleReferenceGroup("(method) Test.start(): this");
|
||||
verify.singleReferenceGroup("(method) Test.start(): this", "start");
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
///////<reference path="./Bar.ts" />
|
||||
|
||||
////function [|Bar|]() {
|
||||
////[|function [|{| "declarationRangeIndex": 0 |}Bar|]() {
|
||||
//// // This is a reference to Bar in a comment.
|
||||
//// "this is a reference to Bar in a string"
|
||||
////}
|
||||
////}|]
|
||||
|
||||
verify.rangesAreRenameLocations();
|
||||
verify.rangesWithSameTextAreRenameLocations("Bar");
|
||||
|
|
Loading…
Reference in a new issue