mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-22 12:03:44 -05:00
More tests
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////type T =
|
||||
//// | { [|{| "isDefinition": true |}type|]: "a", [|{| "isDefinition": true |}prop|]: number }
|
||||
//// | { [|{| "isDefinition": true |}type|]: "b", [|{| "isDefinition": true |}prop|]: string };
|
||||
//// | { [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}type|]: "a",|] [|[|{| "isDefinition": true, "declarationRangeIndex": 2 |}prop|]: number|] }
|
||||
//// | { [|[|{| "isDefinition": true, "declarationRangeIndex": 4 |}type|]: "b",|] [|[|{| "isDefinition": true, "declarationRangeIndex": 6 |}prop|]: string|] };
|
||||
////const tt: T = {
|
||||
//// [|{| "isWriteAccess": true, "isDefinition": true |}type|]: "a",
|
||||
//// [|{| "isWriteAccess": true, "isDefinition": true |}prop|]: 0,
|
||||
//// [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 8 |}type|]: "a"|],
|
||||
//// [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 10 |}prop|]: 0|],
|
||||
////};
|
||||
////declare const t: T;
|
||||
////if (t.[|type|] === "a") {
|
||||
@@ -14,7 +14,7 @@
|
||||
//// t.[|type|];
|
||||
////}
|
||||
|
||||
const [t0, p0, t1, p1, t2, p2, t3, t4, t5] = test.ranges();
|
||||
const [t0Def, t0, p0Def, p0, t1Def, t1, p1Def, p1, t2Def, t2, p2Def, p2, t3, t4, t5] = test.ranges();
|
||||
|
||||
const a = { definition: { text: '(property) type: "a"', range: t0 }, ranges: [t0, t2, t4] };
|
||||
const b = { definition: { text: '(property) type: "b"', range: t1 }, ranges: [t1, t5] };
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////class Foo {
|
||||
//// public [|{| "isWriteAccess": true, "isDefinition": true |}_bar|]() { return 0; }
|
||||
//// [|public [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}_bar|]() { return 0; }|]
|
||||
////}
|
||||
////
|
||||
////var x: Foo;
|
||||
////x.[|_bar|];
|
||||
|
||||
verify.singleReferenceGroup("(method) Foo._bar(): number");
|
||||
verify.singleReferenceGroup("(method) Foo._bar(): number", test.rangesByText().get("_bar"));
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////class Foo {
|
||||
//// public [|{| "isWriteAccess": true, "isDefinition": true |}__bar|]() { return 0; }
|
||||
//// [|public [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}__bar|]() { return 0; }|]
|
||||
////}
|
||||
////
|
||||
////var x: Foo;
|
||||
////x.[|__bar|];
|
||||
|
||||
verify.singleReferenceGroup("(method) Foo.__bar(): number");
|
||||
verify.singleReferenceGroup("(method) Foo.__bar(): number", test.rangesByText().get("__bar"));
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////class Foo {
|
||||
//// public [|{| "isWriteAccess": true, "isDefinition": true |}___bar|]() { return 0; }
|
||||
//// [|public [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}___bar|]() { return 0; }|]
|
||||
////}
|
||||
////
|
||||
////var x: Foo;
|
||||
////x.[|___bar|];
|
||||
|
||||
verify.singleReferenceGroup("(method) Foo.___bar(): number");
|
||||
verify.singleReferenceGroup("(method) Foo.___bar(): number", test.rangesByText().get("___bar"));
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////class Foo {
|
||||
//// public [|{| "isWriteAccess": true, "isDefinition": true |}____bar|]() { return 0; }
|
||||
//// [|public [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}____bar|]() { return 0; }|]
|
||||
////}
|
||||
////
|
||||
////var x: Foo;
|
||||
////x.[|____bar|];
|
||||
|
||||
verify.singleReferenceGroup("(method) Foo.____bar(): number");
|
||||
verify.singleReferenceGroup("(method) Foo.____bar(): number", test.rangesByText().get("____bar"));
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
////class Foo {
|
||||
//// public _bar;
|
||||
//// public __bar;
|
||||
//// public [|{| "isDefinition": true |}___bar|];
|
||||
//// [|public [|{| "isDefinition": true, "declarationRangeIndex": 0 |}___bar|];|]
|
||||
//// public ____bar;
|
||||
////}
|
||||
////
|
||||
@@ -13,4 +13,4 @@
|
||||
////x.[|___bar|];
|
||||
////x.____bar;
|
||||
|
||||
verify.singleReferenceGroup("(property) Foo.___bar: any");
|
||||
verify.singleReferenceGroup("(property) Foo.___bar: any", test.rangesByText().get("___bar"));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
////class Foo {
|
||||
//// public _bar;
|
||||
//// public [|{| "isDefinition": true |}__bar|];
|
||||
//// [|public [|{| "isDefinition": true, "declarationRangeIndex": 0 |}__bar|];|]
|
||||
//// public ___bar;
|
||||
//// public ____bar;
|
||||
////}
|
||||
@@ -13,4 +13,4 @@
|
||||
////x.___bar;
|
||||
////x.____bar;
|
||||
|
||||
verify.singleReferenceGroup("(property) Foo.__bar: any");
|
||||
verify.singleReferenceGroup("(property) Foo.__bar: any", test.rangesByText().get("__bar"));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////function [|{| "isWriteAccess": true, "isDefinition": true |}__foo|]() {
|
||||
////[|function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}__foo|]() {
|
||||
//// [|__foo|]();
|
||||
////}
|
||||
////}|]
|
||||
|
||||
verify.singleReferenceGroup("function __foo(): void");
|
||||
verify.singleReferenceGroup("function __foo(): void", test.rangesByText().get("__foo"));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////(function [|{| "isWriteAccess": true, "isDefinition": true |}__foo|]() {
|
||||
////([|function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}__foo|]() {
|
||||
//// [|__foo|]();
|
||||
////})
|
||||
////}|])
|
||||
|
||||
verify.singleReferenceGroup("(local function) __foo(): void");
|
||||
verify.singleReferenceGroup("(local function) __foo(): void", test.rangesByText().get("__foo"));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////(function [|{| "isWriteAccess": true, "isDefinition": true |}___foo|]() {
|
||||
////([|function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}___foo|]() {
|
||||
//// [|___foo|]();
|
||||
////})
|
||||
////}|])
|
||||
|
||||
verify.singleReferenceGroup("(local function) ___foo(): void");
|
||||
verify.singleReferenceGroup("(local function) ___foo(): void", test.rangesByText().get("___foo"));
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
//// var [|{| "isWriteAccess": true, "isDefinition": true |}name|] = "Foo";
|
||||
//// [|var [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}name|] = "Foo";|]
|
||||
////
|
||||
//// var obj = { [|{| "isWriteAccess": true, "isDefinition": true |}name|] };
|
||||
//// var obj1 = { [|{| "isWriteAccess": true, "isDefinition": true |}name|]:[|name|] };
|
||||
//// var obj1 = { [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 3 |}name|]:[|name|]|] };
|
||||
//// obj.[|name|];
|
||||
|
||||
const [r0, r1, r2, r3, r4] = test.ranges();
|
||||
const [r0Def, r0, r1, r2Def, r2, r3, r4] = test.ranges();
|
||||
verify.referenceGroups([r0, r3], [{ definition: "var name: string", ranges: [r0, r1, r3] }]);
|
||||
verify.referenceGroups(r1, [
|
||||
{ definition: "var name: string", ranges: [r0, r1, r3] },
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
//// var [|{| "isWriteAccess": true, "isDefinition": true |}dx|] = "Foo";
|
||||
//// [|var [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}dx|] = "Foo";|]
|
||||
////
|
||||
//// module M { export var [|{| "isDefinition": true |}dx|]; }
|
||||
//// module M { [|export var [|{| "isDefinition": true, "declarationRangeIndex": 2 |}dx|];|] }
|
||||
//// module M {
|
||||
//// var z = 100;
|
||||
//// export var y = { [|{| "isWriteAccess": true, "isDefinition": true |}dx|], z };
|
||||
//// }
|
||||
//// M.y.[|dx|];
|
||||
|
||||
const [r0, r1, r2, r3] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1, r2, r3] = test.ranges();
|
||||
verify.singleReferenceGroup("var dx: string", [r0]);
|
||||
verify.referenceGroups(r1, [{ definition: "var M.dx: any", ranges: [r1, r2] }]);
|
||||
verify.referenceGroups(r2, [
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /a.ts
|
||||
////type [|{| "isWriteAccess": true, "isDefinition": true |}T|] = number;
|
||||
////namespace [|{| "isWriteAccess": true, "isDefinition": true |}T|] {
|
||||
////[|type [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}T|] = number;|]
|
||||
////[|namespace [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}T|] {
|
||||
//// export type U = string;
|
||||
////}
|
||||
////[|export|] = [|T|];
|
||||
////}|]
|
||||
////[|[|export|] = [|{| "declarationRangeIndex": 4 |}T|];|]
|
||||
|
||||
// @Filename: /b.ts
|
||||
////const x: import("[|./[|a|]|]") = 0;
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
verify.noErrors();
|
||||
|
||||
const [r0, r1, rExport, r2, r3, r3b, r4, r4b] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1, r2Def, rExport, r2, r3, r3b, r4, r4b] = test.ranges();
|
||||
verify.referenceGroups(r0, [{ definition: "type T = number\nnamespace T", ranges: [r0, r2, r3] }]);
|
||||
verify.referenceGroups(r1, [{ definition: "namespace T", ranges: [r1, r2] }]);
|
||||
const t: FourSlashInterface.ReferenceGroup = { definition: "type T = number\nnamespace T", ranges: [r0, r1, r2, r3] };
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
// @checkJs: true
|
||||
|
||||
// @Filename: /a.js
|
||||
////[|module|].exports = class [|{| "isWriteAccess": true, "isDefinition": true |}C|] {};
|
||||
////module.exports.[|{| "isWriteAccess": true, "isDefinition": true |}D|] = class [|{| "isWriteAccess": true, "isDefinition": true |}D|] {};
|
||||
////[|[|{| "declarationRangeIndex": 0 |}module|].exports = [|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}C|] {}|];|]
|
||||
////[|module.exports.[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 4 |}D|] = [|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 6 |}D|] {}|];|]
|
||||
|
||||
// @Filename: /b.js
|
||||
/////** @type {import("[|./a|]")} */
|
||||
@@ -17,7 +17,7 @@ verify.noErrors();
|
||||
|
||||
// TODO: GH#24025
|
||||
|
||||
const [rModule, r0, r1, r2, r3, r4, r5] = test.ranges();
|
||||
const [rModuleDef, rModule, r0Def, r0, r1Def, r1, r2Def, r2, r3, r4, r5] = test.ranges();
|
||||
verify.referenceGroups(rModule, [{ definition: 'module "/a"', ranges: [r3, r4, rModule] }]);
|
||||
verify.referenceGroups(r0, [
|
||||
{ definition: "(local class) C", ranges: [r0] },
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /a.ts
|
||||
////export type [|{| "isWriteAccess": true, "isDefinition": true |}T|] = 0;
|
||||
////export const [|{| "isWriteAccess": true, "isDefinition": true |}T|] = 0;
|
||||
////[|export type [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}T|] = 0;|]
|
||||
////[|export const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}T|] = 0;|]
|
||||
|
||||
// @Filename: /b.ts
|
||||
////const x: import("./a").[|T|] = 0;
|
||||
////const x: typeof import("./a").[|T|] = 0;
|
||||
|
||||
const [r0, r1, r2, r3] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1, r2, r3] = test.ranges();
|
||||
verify.singleReferenceGroup("type T = 0", [r0, r2]);
|
||||
verify.singleReferenceGroup("const T: 0", [r1, r3]);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /a.ts
|
||||
////export type [|{| "isWriteAccess": true, "isDefinition": true |}T|] = number;
|
||||
////export type [|{| "isWriteAccess": true, "isDefinition": true |}U|] = string;
|
||||
////[|export type [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}T|] = number;|]
|
||||
////[|export type [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}U|] = string;|]
|
||||
|
||||
// @Filename: /b.ts
|
||||
////const x: import("./a").[|T|] = 0;
|
||||
////const x: import("./a").[|U|] = 0;
|
||||
|
||||
const [r0, r1, r2, r3] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1, r2, r3] = test.ranges();
|
||||
verify.singleReferenceGroup("type T = number", [r0, r2]);
|
||||
verify.singleReferenceGroup("type U = string", [r1, r3]);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
// @Filename: /a.js
|
||||
/////** @enum {string} */
|
||||
////const [|{| "isWriteAccess": true, "isDefinition": true |}E|] = { A: "" };
|
||||
////[|const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}E|] = { A: "" };|]
|
||||
////[|E|]["A"];
|
||||
/////** @type {[|E|]} */
|
||||
////const e = [|E|].A;
|
||||
@@ -13,4 +13,4 @@ verify.singleReferenceGroup(
|
||||
`enum E
|
||||
const E: {
|
||||
A: string;
|
||||
}`);
|
||||
}`, test.rangesByText().get("E"));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
//@Filename: a.ts
|
||||
////var [|{| "isDefinition": true |}x|]: number;
|
||||
////[|var [|{| "isDefinition": true, "declarationRangeIndex": 0 |}x|]: number;|]
|
||||
|
||||
//@Filename: b.ts
|
||||
/////// <reference path="a.ts" />
|
||||
@@ -11,4 +11,4 @@
|
||||
/////// <reference path="a.ts" />
|
||||
////[|{| "isWriteAccess": true |}x|]++;
|
||||
|
||||
verify.singleReferenceGroup("var x: number");
|
||||
verify.singleReferenceGroup("var x: number", test.rangesByText().get("x"));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
// @Filename: a.ts
|
||||
////interface A {
|
||||
//// [|{| "isDefinition": true |}foo|]: string;
|
||||
//// [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}foo|]: string;|]
|
||||
////}
|
||||
|
||||
// @Filename: b.ts
|
||||
@@ -12,9 +12,9 @@
|
||||
//// x.[|foo|]
|
||||
////}
|
||||
|
||||
verify.singleReferenceGroup("(property) A.foo: string");
|
||||
verify.singleReferenceGroup("(property) A.foo: string", test.rangesByText().get("foo"));
|
||||
|
||||
goTo.marker("");
|
||||
edit.insert("\n");
|
||||
|
||||
verify.singleReferenceGroup("(property) A.foo: string");
|
||||
verify.singleReferenceGroup("(property) A.foo: string", test.rangesByText().get("foo"));
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
// @Filename: index.tsx
|
||||
////import { [|{| "isWriteAccess": true, "isDefinition": true |}SubmissionComp|] } from "./RedditSubmission"
|
||||
////[|import { [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}SubmissionComp|] } from "./RedditSubmission"|]
|
||||
////function displaySubreddit(subreddit: string) {
|
||||
//// let components = submissions
|
||||
//// .map((value, index) => <[|SubmissionComp|] key={ index } elementPosition= { index } {...value.data} />);
|
||||
////}
|
||||
|
||||
// @Filename: RedditSubmission.ts
|
||||
////export const [|{| "isWriteAccess": true, "isDefinition": true |}SubmissionComp|] = (submission: SubmissionProps) =>
|
||||
//// <div style={{ fontFamily: "sans-serif" }}></div>;
|
||||
////export const [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 3 |}SubmissionComp|] = (submission: SubmissionProps) =>
|
||||
//// <div style|]={{ fontFamily: "sans-serif" }}></div>;
|
||||
|
||||
const [r0, r1, r2] = test.ranges();
|
||||
const [r0Def, r0, r1, r2Def, r2] = test.ranges();
|
||||
const imports = { definition: "(alias) const SubmissionComp: (submission: any) => any\nimport SubmissionComp", ranges: [r0, r1] };
|
||||
const def = { definition: "const SubmissionComp: (submission: any) => any", ranges: [r2] };
|
||||
verify.referenceGroups([r0, r1], [imports, def]);
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
// @Filename: index.tsx
|
||||
////const [|{| "isWriteAccess": true, "isDefinition": true |}obj|] = {Component: () => <div/>};
|
||||
////[|const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}obj|] = {Component: () => <div/>};|]
|
||||
////const element = <[|obj|].Component/>;
|
||||
|
||||
verify.singleReferenceGroup(`const obj: {
|
||||
Component: () => any;
|
||||
}`);
|
||||
}`, test.rangesByText().get("obj"));
|
||||
|
||||
@@ -6,22 +6,21 @@
|
||||
////namespace JSX {
|
||||
//// export interface Element { }
|
||||
//// export interface IntrinsicElements {
|
||||
//// [|{| "isDefinition": true |}div|]: any;
|
||||
//// [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}div|]: any;|]
|
||||
//// }
|
||||
////}
|
||||
////
|
||||
////const [|{| "isWriteAccess": true, "isDefinition": true |}Comp|] = () =>
|
||||
////[|const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}Comp|] = () =>
|
||||
//// <[|div|]>
|
||||
//// Some content
|
||||
//// <[|div|]>More content</[|div|]>
|
||||
//// </[|div|]>;
|
||||
//// </[|div|]>;|]
|
||||
////
|
||||
////const x = <[|Comp|]>
|
||||
//// Content
|
||||
////</[|Comp|]>;
|
||||
|
||||
const ranges = test.ranges();
|
||||
const [d0, c0, d1, d2, d3, d4, c1, c2] = test.ranges();
|
||||
const [d0Def, d0, c0Def, c0, d1, d2, d3, d4, c1, c2] = test.ranges();
|
||||
|
||||
const allD = [d0, d1, d2, d3, d4];
|
||||
const allC = [c0, c1, c2];
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////var [|{| "isWriteAccess": true, "isDefinition": true |}f|] = x => x + 1;
|
||||
////[|var [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}f|] = x => x + 1;|]
|
||||
////[|f|](12);
|
||||
|
||||
verify.singleReferenceGroup("var f: (x: any) => any");
|
||||
verify.singleReferenceGroup("var f: (x: any) => any", test.rangesByText().get("f"));
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////const { [|{| "isWriteAccess": true, "isDefinition": true |}x|], y } = { [|{| "isWriteAccess": true, "isDefinition": true |}x|]: 1, y: 2 };
|
||||
////[|const { [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|], y } = { [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}x|]: 1|], y: 2 };|]
|
||||
////const z = [|x|];
|
||||
|
||||
const [r0, r1, r2] = test.ranges();
|
||||
const [r0Def, r0, r1Def, r1, r2] = test.ranges();
|
||||
const local = { definition: "const x: number", ranges: [r0, r2] };
|
||||
const prop = { definition: "(property) x: number", ranges: [r1] };
|
||||
verify.referenceGroups(r0, [local, prop]);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////class [|{| "isWriteAccess": true, "isDefinition": true |}C|] {
|
||||
////[|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}C|] {
|
||||
//// n: number;
|
||||
//// constructor() {
|
||||
//// this.n = 12;
|
||||
//// }
|
||||
////}
|
||||
////}|]
|
||||
////let c = new [|C|]();
|
||||
|
||||
verify.singleReferenceGroup("class C");
|
||||
verify.singleReferenceGroup("class C", test.rangesByText().get("C"));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////let o = { ["[|{| "isWriteAccess": true, "isDefinition": true |}foo|]"]: 12 };
|
||||
////let o = { [|["[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}foo|]"]: 12|] };
|
||||
////let y = o.[|foo|];
|
||||
////let z = o['[|foo|]'];
|
||||
|
||||
verify.singleReferenceGroup('(property) ["foo"]: number');
|
||||
verify.singleReferenceGroup('(property) ["foo"]: number', test.rangesByText().get("foo"));
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////enum [|{| "isWriteAccess": true, "isDefinition": true |}E|] {
|
||||
////[|enum [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}E|] {
|
||||
//// First,
|
||||
//// Second
|
||||
////}
|
||||
////}|]
|
||||
////let first = [|E|].First;
|
||||
|
||||
verify.singleReferenceGroup("enum E");
|
||||
verify.singleReferenceGroup("enum E", test.rangesByText().get("E"));
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
// @Filename: m.ts
|
||||
////export var [|{| "isWriteAccess": true, "isDefinition": true |}x|] = 12;
|
||||
////[|export var [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|] = 12;|]
|
||||
// @Filename: main.ts
|
||||
////import { [|{| "isWriteAccess": true, "isDefinition": true |}x|] } from "./m";
|
||||
////[|import { [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}x|] } from "./m";|]
|
||||
////const y = [|x|];
|
||||
|
||||
const ranges = test.ranges();
|
||||
const [r0, r1, r2] = ranges;
|
||||
const [r0Def, r0, r1Def, r1, r2] = ranges;
|
||||
const defs = { definition: "var x: number", ranges: [r0] };
|
||||
const imports = { definition: "(alias) var x: number\nimport x", ranges: [r1, r2] };
|
||||
verify.referenceGroups(r0, [defs, imports]);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////function [|{| "isWriteAccess": true, "isDefinition": true |}func|](x: number) {
|
||||
////}
|
||||
////[|function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}func|](x: number) {
|
||||
////}|]
|
||||
////[|func|](x)
|
||||
|
||||
verify.singleReferenceGroup("function func(x: number): void");
|
||||
verify.singleReferenceGroup("function func(x: number): void", test.rangesByText().get("func"));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////interface [|{| "isWriteAccess": true, "isDefinition": true |}I|] {
|
||||
////[|interface [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}I|] {
|
||||
//// p: number;
|
||||
////}
|
||||
////}|]
|
||||
////let i: [|I|] = { p: 12 };
|
||||
|
||||
verify.singleReferenceGroup("interface I");
|
||||
verify.singleReferenceGroup("interface I", test.rangesByText().get("I"));
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////interface [|{| "isWriteAccess": true, "isDefinition": true |}Numbers|] {
|
||||
////[|interface [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}Numbers|] {
|
||||
//// p: number;
|
||||
////}
|
||||
////interface [|{| "isWriteAccess": true, "isDefinition": true |}Numbers|] {
|
||||
////}|]
|
||||
////[|interface [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}Numbers|] {
|
||||
//// m: number;
|
||||
////}
|
||||
////class [|{| "isWriteAccess": true, "isDefinition": true |}Numbers|] {
|
||||
////}|]
|
||||
////[|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 4 |}Numbers|] {
|
||||
//// f(n: number) {
|
||||
//// return this.p + this.m + n;
|
||||
//// }
|
||||
////}
|
||||
////}|]
|
||||
////let i: [|Numbers|] = new [|Numbers|]();
|
||||
////let x = i.f(i.p + i.m);
|
||||
|
||||
verify.singleReferenceGroup("class Numbers\ninterface Numbers");
|
||||
verify.singleReferenceGroup("class Numbers\ninterface Numbers", test.rangesByText().get("Numbers"));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////namespace [|{| "isWriteAccess": true, "isDefinition": true |}Numbers|] {
|
||||
////[|namespace [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}Numbers|] {
|
||||
//// export var n = 12;
|
||||
////}
|
||||
////}|]
|
||||
////let x = [|Numbers|].n + 1;
|
||||
|
||||
verify.singleReferenceGroup("namespace Numbers");
|
||||
verify.singleReferenceGroup("namespace Numbers", test.rangesByText().get("Numbers"));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////let o = { [|{| "isWriteAccess": true, "isDefinition": true |}1|]: 12 };
|
||||
////let o = { [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}1|]: 12|] };
|
||||
////let y = o[[|1|]];
|
||||
|
||||
verify.singleReferenceGroup("(property) 1: number");
|
||||
verify.singleReferenceGroup("(property) 1: number", test.rangesByText().get("1"));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////function f([|{| "isWriteAccess": true, "isDefinition": true |}x|]: number) {
|
||||
////function f([|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|]: number|]) {
|
||||
//// return [|x|] + 1
|
||||
////}
|
||||
|
||||
verify.singleReferenceGroup("(parameter) x: number");
|
||||
verify.singleReferenceGroup("(parameter) x: number", test.rangesByText().get("x"));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////let o = { "[|{| "isWriteAccess": true, "isDefinition": true |}x|]": 12 };
|
||||
////let o = { [|"[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|]": 12|] };
|
||||
////let y = o.[|x|];
|
||||
|
||||
verify.singleReferenceGroup('(property) "x": number');
|
||||
verify.singleReferenceGroup('(property) "x": number', test.rangesByText().get("x"));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////type [|{| "isWriteAccess": true, "isDefinition": true |}Alias|]= number;
|
||||
////[|type [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}Alias|]= number;|]
|
||||
////let n: [|Alias|] = 12;
|
||||
|
||||
verify.singleReferenceGroup("type Alias = number");
|
||||
verify.singleReferenceGroup("type Alias = number", test.rangesByText().get("Alias"));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////var [|{| "isWriteAccess": true, "isDefinition": true |}x|] = 0;
|
||||
////[|var [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}x|] = 0;|]
|
||||
////var assignmentRightHandSide = [|x|];
|
||||
////var assignmentRightHandSide2 = 1 + [|x|];
|
||||
////
|
||||
@@ -17,4 +17,4 @@
|
||||
////[|{| "isWriteAccess": true |}x|] += 1;
|
||||
////[|{| "isWriteAccess": true |}x|] <<= 1;
|
||||
|
||||
verify.singleReferenceGroup("var x: number");
|
||||
verify.singleReferenceGroup("var x: number", test.rangesByText().get("x"));
|
||||
|
||||
Reference in New Issue
Block a user