From cc1cb54e4bce8c71cd61c53f903a712f96b3dfa2 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Tue, 4 Jun 2019 13:58:27 -0700 Subject: [PATCH] More tests --- tests/cases/fourslash/findAllRefsUnionProperty.ts | 10 +++++----- .../findAllRefsWithLeadingUnderscoreNames1.ts | 4 ++-- .../findAllRefsWithLeadingUnderscoreNames2.ts | 4 ++-- .../findAllRefsWithLeadingUnderscoreNames3.ts | 4 ++-- .../findAllRefsWithLeadingUnderscoreNames4.ts | 4 ++-- .../findAllRefsWithLeadingUnderscoreNames5.ts | 4 ++-- .../findAllRefsWithLeadingUnderscoreNames6.ts | 4 ++-- .../findAllRefsWithLeadingUnderscoreNames7.ts | 6 +++--- .../findAllRefsWithLeadingUnderscoreNames8.ts | 6 +++--- .../findAllRefsWithLeadingUnderscoreNames9.ts | 6 +++--- .../findAllRefsWithShorthandPropertyAssignment.ts | 6 +++--- .../findAllRefsWithShorthandPropertyAssignment2.ts | 6 +++--- .../findAllRefs_importType_exportEquals.ts | 10 +++++----- tests/cases/fourslash/findAllRefs_importType_js.ts | 6 +++--- .../findAllRefs_importType_meaningAtLocation.ts | 6 +++--- .../fourslash/findAllRefs_importType_named.ts | 6 +++--- tests/cases/fourslash/findAllRefs_jsEnum.ts | 4 ++-- .../findReferencesAcrossMultipleProjects.ts | 4 ++-- tests/cases/fourslash/findReferencesAfterEdit.ts | 6 +++--- tests/cases/fourslash/findReferencesJSXTagName.ts | 8 ++++---- tests/cases/fourslash/findReferencesJSXTagName2.ts | 4 ++-- tests/cases/fourslash/findReferencesJSXTagName3.ts | 9 ++++----- .../getOccurrencesIsDefinitionOfArrowFunction.ts | 4 ++-- .../getOccurrencesIsDefinitionOfBindingPattern.ts | 4 ++-- .../fourslash/getOccurrencesIsDefinitionOfClass.ts | 6 +++--- ...getOccurrencesIsDefinitionOfComputedProperty.ts | 4 ++-- .../fourslash/getOccurrencesIsDefinitionOfEnum.ts | 6 +++--- .../getOccurrencesIsDefinitionOfExport.ts | 6 +++--- .../getOccurrencesIsDefinitionOfFunction.ts | 6 +++--- .../getOccurrencesIsDefinitionOfInterface.ts | 6 +++--- ...OccurrencesIsDefinitionOfInterfaceClassMerge.ts | 14 +++++++------- .../getOccurrencesIsDefinitionOfNamespace.ts | 6 +++--- ...OccurrencesIsDefinitionOfNumberNamedProperty.ts | 4 ++-- .../getOccurrencesIsDefinitionOfParameter.ts | 4 ++-- ...OccurrencesIsDefinitionOfStringNamedProperty.ts | 4 ++-- .../getOccurrencesIsDefinitionOfTypeAlias.ts | 4 ++-- .../getOccurrencesIsDefinitionOfVariable.ts | 4 ++-- 37 files changed, 104 insertions(+), 105 deletions(-) diff --git a/tests/cases/fourslash/findAllRefsUnionProperty.ts b/tests/cases/fourslash/findAllRefsUnionProperty.ts index 3b7813f638b..61f4df03047 100644 --- a/tests/cases/fourslash/findAllRefsUnionProperty.ts +++ b/tests/cases/fourslash/findAllRefsUnionProperty.ts @@ -1,11 +1,11 @@ /// ////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] }; diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames1.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames1.ts index 4a1bf374c05..2ae0cc4ac71 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames1.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames1.ts @@ -1,10 +1,10 @@ /// ////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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames2.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames2.ts index ec120254fde..038e66449d4 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames2.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames2.ts @@ -1,10 +1,10 @@ /// ////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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames3.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames3.ts index e6f46b128e7..9c7815dea01 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames3.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames3.ts @@ -1,10 +1,10 @@ /// ////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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames4.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames4.ts index 593d61f3fbe..5c6566a8a0f 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames4.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames4.ts @@ -1,10 +1,10 @@ /// ////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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames5.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames5.ts index cf171662596..f3c807483cd 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames5.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames5.ts @@ -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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames6.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames6.ts index 77197480eb1..be8859c01a0 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames6.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames6.ts @@ -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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames7.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames7.ts index dac42f4fc7c..b6de0be25c9 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames7.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames7.ts @@ -1,7 +1,7 @@ /// -////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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames8.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames8.ts index 8c92275e27f..945fa91e6d6 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames8.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames8.ts @@ -1,7 +1,7 @@ /// -////(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")); diff --git a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames9.ts b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames9.ts index bc5799e61cf..2ff0420cc16 100644 --- a/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames9.ts +++ b/tests/cases/fourslash/findAllRefsWithLeadingUnderscoreNames9.ts @@ -1,7 +1,7 @@ /// -////(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")); diff --git a/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment.ts b/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment.ts index b25c08cd692..490b87d624d 100644 --- a/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment.ts +++ b/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment.ts @@ -1,12 +1,12 @@ /// -//// 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] }, diff --git a/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment2.ts b/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment2.ts index f19640698cd..39804714464 100644 --- a/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment2.ts +++ b/tests/cases/fourslash/findAllRefsWithShorthandPropertyAssignment2.ts @@ -1,15 +1,15 @@ /// -//// 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, [ diff --git a/tests/cases/fourslash/findAllRefs_importType_exportEquals.ts b/tests/cases/fourslash/findAllRefs_importType_exportEquals.ts index 3734b7a2e88..0d60c153ce9 100644 --- a/tests/cases/fourslash/findAllRefs_importType_exportEquals.ts +++ b/tests/cases/fourslash/findAllRefs_importType_exportEquals.ts @@ -1,11 +1,11 @@ /// // @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] }; diff --git a/tests/cases/fourslash/findAllRefs_importType_js.ts b/tests/cases/fourslash/findAllRefs_importType_js.ts index b1f612c8e45..79f99da90a4 100644 --- a/tests/cases/fourslash/findAllRefs_importType_js.ts +++ b/tests/cases/fourslash/findAllRefs_importType_js.ts @@ -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] }, diff --git a/tests/cases/fourslash/findAllRefs_importType_meaningAtLocation.ts b/tests/cases/fourslash/findAllRefs_importType_meaningAtLocation.ts index 4c79999a866..367a6f0febd 100644 --- a/tests/cases/fourslash/findAllRefs_importType_meaningAtLocation.ts +++ b/tests/cases/fourslash/findAllRefs_importType_meaningAtLocation.ts @@ -1,13 +1,13 @@ /// // @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]); diff --git a/tests/cases/fourslash/findAllRefs_importType_named.ts b/tests/cases/fourslash/findAllRefs_importType_named.ts index ed4d4a1427b..ae3b7585764 100644 --- a/tests/cases/fourslash/findAllRefs_importType_named.ts +++ b/tests/cases/fourslash/findAllRefs_importType_named.ts @@ -1,13 +1,13 @@ /// // @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]); diff --git a/tests/cases/fourslash/findAllRefs_jsEnum.ts b/tests/cases/fourslash/findAllRefs_jsEnum.ts index c77b24256bf..79c007c2947 100644 --- a/tests/cases/fourslash/findAllRefs_jsEnum.ts +++ b/tests/cases/fourslash/findAllRefs_jsEnum.ts @@ -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")); diff --git a/tests/cases/fourslash/findReferencesAcrossMultipleProjects.ts b/tests/cases/fourslash/findReferencesAcrossMultipleProjects.ts index 2141399705f..b94b8629620 100644 --- a/tests/cases/fourslash/findReferencesAcrossMultipleProjects.ts +++ b/tests/cases/fourslash/findReferencesAcrossMultipleProjects.ts @@ -1,7 +1,7 @@ /// //@Filename: a.ts -////var [|{| "isDefinition": true |}x|]: number; +////[|var [|{| "isDefinition": true, "declarationRangeIndex": 0 |}x|]: number;|] //@Filename: b.ts /////// @@ -11,4 +11,4 @@ /////// ////[|{| "isWriteAccess": true |}x|]++; -verify.singleReferenceGroup("var x: number"); +verify.singleReferenceGroup("var x: number", test.rangesByText().get("x")); diff --git a/tests/cases/fourslash/findReferencesAfterEdit.ts b/tests/cases/fourslash/findReferencesAfterEdit.ts index 3787617692a..9a8717eb1e3 100644 --- a/tests/cases/fourslash/findReferencesAfterEdit.ts +++ b/tests/cases/fourslash/findReferencesAfterEdit.ts @@ -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")); diff --git a/tests/cases/fourslash/findReferencesJSXTagName.ts b/tests/cases/fourslash/findReferencesJSXTagName.ts index 8547ad8b330..ec011671c9e 100644 --- a/tests/cases/fourslash/findReferencesJSXTagName.ts +++ b/tests/cases/fourslash/findReferencesJSXTagName.ts @@ -1,17 +1,17 @@ /// // @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) => -////
; +////export const [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 3 |}SubmissionComp|] = (submission: SubmissionProps) => +////
; -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]); diff --git a/tests/cases/fourslash/findReferencesJSXTagName2.ts b/tests/cases/fourslash/findReferencesJSXTagName2.ts index a8882b60088..46133d8e339 100644 --- a/tests/cases/fourslash/findReferencesJSXTagName2.ts +++ b/tests/cases/fourslash/findReferencesJSXTagName2.ts @@ -1,9 +1,9 @@ /// // @Filename: index.tsx -////const [|{| "isWriteAccess": true, "isDefinition": true |}obj|] = {Component: () =>
}; +////[|const [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}obj|] = {Component: () =>
};|] ////const element = <[|obj|].Component/>; verify.singleReferenceGroup(`const obj: { Component: () => any; -}`); +}`, test.rangesByText().get("obj")); diff --git a/tests/cases/fourslash/findReferencesJSXTagName3.ts b/tests/cases/fourslash/findReferencesJSXTagName3.ts index 58715ade2fa..afd90562777 100644 --- a/tests/cases/fourslash/findReferencesJSXTagName3.ts +++ b/tests/cases/fourslash/findReferencesJSXTagName3.ts @@ -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 -//// ; +//// ;|] //// ////const x = <[|Comp|]> //// Content ////; -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]; diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfArrowFunction.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfArrowFunction.ts index b1acb76ad2c..a50b2ca1149 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfArrowFunction.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfArrowFunction.ts @@ -1,5 +1,5 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfBindingPattern.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfBindingPattern.ts index 32fec74d162..44a7c70e001 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfBindingPattern.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfBindingPattern.ts @@ -1,8 +1,8 @@ /// -////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]); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfClass.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfClass.ts index 302ed5ce6f5..add271f14e4 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfClass.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfClass.ts @@ -1,10 +1,10 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfComputedProperty.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfComputedProperty.ts index 88ab38e5428..d67dfe74c95 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfComputedProperty.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfComputedProperty.ts @@ -1,6 +1,6 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfEnum.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfEnum.ts index 325674d8ee7..d1721c3b88b 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfEnum.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfEnum.ts @@ -1,8 +1,8 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfExport.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfExport.ts index e31bc46eae6..1f0439b8d50 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfExport.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfExport.ts @@ -1,12 +1,12 @@ /// // @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]); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfFunction.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfFunction.ts index 4c91bc08ef8..71746119230 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfFunction.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfFunction.ts @@ -1,6 +1,6 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterface.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterface.ts index 826890c4da9..57c96da1e8b 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterface.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterface.ts @@ -1,7 +1,7 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterfaceClassMerge.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterfaceClassMerge.ts index 0e363a216eb..2ec89979df4 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterfaceClassMerge.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfInterfaceClassMerge.ts @@ -1,16 +1,16 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfNamespace.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfNamespace.ts index 04d00e6c19f..0fc07b3bb6b 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfNamespace.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfNamespace.ts @@ -1,7 +1,7 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfNumberNamedProperty.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfNumberNamedProperty.ts index 33bdad09e1a..249d768bf11 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfNumberNamedProperty.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfNumberNamedProperty.ts @@ -1,5 +1,5 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfParameter.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfParameter.ts index 8afa67bfe64..b18fc51f8eb 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfParameter.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfParameter.ts @@ -1,6 +1,6 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfStringNamedProperty.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfStringNamedProperty.ts index cf88d476fef..7ca03f00482 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfStringNamedProperty.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfStringNamedProperty.ts @@ -1,5 +1,5 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfTypeAlias.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfTypeAlias.ts index 18a4ec0396c..cf69914507b 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfTypeAlias.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfTypeAlias.ts @@ -1,5 +1,5 @@ /// -////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")); diff --git a/tests/cases/fourslash/getOccurrencesIsDefinitionOfVariable.ts b/tests/cases/fourslash/getOccurrencesIsDefinitionOfVariable.ts index 2faf5b53e1b..b3a3ab4cc17 100644 --- a/tests/cases/fourslash/getOccurrencesIsDefinitionOfVariable.ts +++ b/tests/cases/fourslash/getOccurrencesIsDefinitionOfVariable.ts @@ -1,5 +1,5 @@ /// -////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"));