diff --git a/tests/cases/fourslash/tsxFindAllReferences1.ts b/tests/cases/fourslash/tsxFindAllReferences1.ts index 550dd05606c..1602bc7dae9 100644 --- a/tests/cases/fourslash/tsxFindAllReferences1.ts +++ b/tests/cases/fourslash/tsxFindAllReferences1.ts @@ -4,16 +4,20 @@ //// declare module JSX { //// interface Element { } //// interface IntrinsicElements { -//// [|{| "isWriteAccess": true, "isDefinition": true |}div|]: { +//// [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}div|]: { //// name?: string; //// isOpen?: boolean; -//// }; +//// };|] //// span: { n: string; }; //// } //// } //// var x = <[|div|] />; -verify.singleReferenceGroup(`(property) JSX.IntrinsicElements.div: { +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + `(property) JSX.IntrinsicElements.div: { name?: string; isOpen?: boolean; -}`); +}`, + rangesByText.get("div") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences10.ts b/tests/cases/fourslash/tsxFindAllReferences10.ts index 58459c7df1f..29e57b97bd2 100644 --- a/tests/cases/fourslash/tsxFindAllReferences10.ts +++ b/tests/cases/fourslash/tsxFindAllReferences10.ts @@ -15,7 +15,7 @@ //// className?: string; //// } //// interface ButtonProps extends ClickableProps { -//// [|{| "isDefinition": true |}onClick|](event?: React.MouseEvent): void; +//// [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}onClick|](event?: React.MouseEvent): void;|] //// } //// interface LinkProps extends ClickableProps { //// goTo: string; @@ -25,9 +25,13 @@ //// declare function MainButton(props: ButtonProps | LinkProps): JSX.Element; //// let opt = ; //// let opt = ; -//// let opt = {}} />; -//// let opt = {}} ignore-prop />; +//// let opt = {}}|] />; +//// let opt = {}}|] ignore-prop />; //// let opt = ; //// let opt = ; -verify.singleReferenceGroup("(method) ButtonProps.onClick(event?: any): void"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + "(method) ButtonProps.onClick(event?: any): void", + rangesByText.get("onClick") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences2.ts b/tests/cases/fourslash/tsxFindAllReferences2.ts index e7fda5ab308..d83cb426992 100644 --- a/tests/cases/fourslash/tsxFindAllReferences2.ts +++ b/tests/cases/fourslash/tsxFindAllReferences2.ts @@ -5,12 +5,16 @@ //// interface Element { } //// interface IntrinsicElements { //// div: { -//// [|{| "isWriteAccess": true, "isDefinition": true |}name|]?: string; +//// [|[|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}name|]?: string;|] //// isOpen?: boolean; //// }; //// span: { n: string; }; //// } //// } -//// var x =
; +//// var x =
; -verify.singleReferenceGroup("(property) name?: string"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + "(property) name ?: string", + rangesByText.get("name") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences3.ts b/tests/cases/fourslash/tsxFindAllReferences3.ts index e2f9215466a..c519d5da99b 100644 --- a/tests/cases/fourslash/tsxFindAllReferences3.ts +++ b/tests/cases/fourslash/tsxFindAllReferences3.ts @@ -9,11 +9,15 @@ //// } //// class MyClass { //// props: { -//// [|{| "isDefinition": true |}name|]?: string; +//// [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}name|]?: string;|] //// size?: number; //// } //// //// -//// var x = ; +//// var x = ; -verify.singleReferenceGroup("(property) name?: string"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + "(property) name?: string", + rangesByText.get("name") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences4.ts b/tests/cases/fourslash/tsxFindAllReferences4.ts index c932ea57f36..5d7ce7419bb 100644 --- a/tests/cases/fourslash/tsxFindAllReferences4.ts +++ b/tests/cases/fourslash/tsxFindAllReferences4.ts @@ -7,13 +7,17 @@ //// } //// interface ElementAttributesProperty { props } //// } -//// class [|{| "isWriteAccess": true, "isDefinition": true |}MyClass|] { +//// [|class [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}MyClass|] { //// props: { //// name?: string; //// size?: number; -//// } +//// }|] //// //// //// var x = <[|MyClass|] name='hello'>; -verify.singleReferenceGroup("class MyClass"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + "class MyClass", + rangesByText.get("MyClass") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences5.ts b/tests/cases/fourslash/tsxFindAllReferences5.ts index 9358dd73dc5..265b1a015f3 100644 --- a/tests/cases/fourslash/tsxFindAllReferences5.ts +++ b/tests/cases/fourslash/tsxFindAllReferences5.ts @@ -15,11 +15,15 @@ //// propString: string //// optional?: boolean //// } -//// declare function [|{| "isWriteAccess": true, "isDefinition": true |}Opt|](attributes: OptionPropBag): JSX.Element; +//// [|declare function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}Opt|](attributes: OptionPropBag): JSX.Element;|] //// let opt = <[|Opt|] />; //// let opt1 = <[|Opt|] propx={100} propString />; //// let opt2 = <[|Opt|] propx={100} optional/>; //// let opt3 = <[|Opt|] wrong />; //// let opt4 = <[|Opt|] propx={100} propString="hi" />; -verify.singleReferenceGroup("function Opt(attributes: OptionPropBag): JSX.Element"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + "function Opt(attributes: OptionPropBag): JSX.Element", + rangesByText.get("Opt") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences7.ts b/tests/cases/fourslash/tsxFindAllReferences7.ts index 471cf747258..22c19e1cc29 100644 --- a/tests/cases/fourslash/tsxFindAllReferences7.ts +++ b/tests/cases/fourslash/tsxFindAllReferences7.ts @@ -11,14 +11,18 @@ //// interface ElementAttributesProperty { props; } //// } //// interface OptionPropBag { -//// [|{| "isDefinition": true |}propx|]: number +//// [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}propx|]: number|] //// propString: string //// optional?: boolean //// } //// declare function Opt(attributes: OptionPropBag): JSX.Element; //// let opt = ; -//// let opt1 = ; -//// let opt2 = ; +//// let opt1 = ; +//// let opt2 = ; //// let opt3 = ; -verify.singleReferenceGroup("(property) OptionPropBag.propx: number"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + "(property) OptionPropBag.propx: number", + rangesByText.get("propx") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences8.ts b/tests/cases/fourslash/tsxFindAllReferences8.ts index 0c216488892..b509a9565a0 100644 --- a/tests/cases/fourslash/tsxFindAllReferences8.ts +++ b/tests/cases/fourslash/tsxFindAllReferences8.ts @@ -20,9 +20,9 @@ //// interface LinkProps extends ClickableProps { //// goTo: string; //// } -//// declare function [|{| "isWriteAccess": true, "isDefinition": true |}MainButton|](buttonProps: ButtonProps): JSX.Element; -//// declare function [|{| "isWriteAccess": true, "isDefinition": true |}MainButton|](linkProps: LinkProps): JSX.Element; -//// declare function [|{| "isWriteAccess": true, "isDefinition": true |}MainButton|](props: ButtonProps | LinkProps): JSX.Element; +//// [|declare function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}MainButton|](buttonProps: ButtonProps): JSX.Element;|] +//// [|declare function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}MainButton|](linkProps: LinkProps): JSX.Element;|] +//// [|declare function [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 4 |}MainButton|](props: ButtonProps | LinkProps): JSX.Element;|] //// let opt = <[|MainButton|] />; //// let opt = <[|MainButton|] children="chidlren" />; //// let opt = <[|MainButton|] onClick={()=>{}} />; @@ -30,4 +30,8 @@ //// let opt = <[|MainButton|] goTo="goTo" />; //// let opt = <[|MainButton|] wrong />; -verify.singleReferenceGroup("function MainButton(buttonProps: ButtonProps): JSX.Element (+2 overloads)"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup( + "function MainButton(buttonProps: ButtonProps): JSX.Element (+2 overloads)", + rangesByText.get("MainButton") +); diff --git a/tests/cases/fourslash/tsxFindAllReferences9.ts b/tests/cases/fourslash/tsxFindAllReferences9.ts index bb45ce590cf..e10eb420926 100644 --- a/tests/cases/fourslash/tsxFindAllReferences9.ts +++ b/tests/cases/fourslash/tsxFindAllReferences9.ts @@ -18,7 +18,7 @@ //// onClick(event?: React.MouseEvent): void; //// } //// interface LinkProps extends ClickableProps { -//// [|{| "isDefinition": true |}goTo|]: string; +//// [|[|{| "isDefinition": true, "declarationRangeIndex": 0 |}goTo|]: string;|] //// } //// declare function MainButton(buttonProps: ButtonProps): JSX.Element; //// declare function MainButton(linkProps: LinkProps): JSX.Element; @@ -27,8 +27,9 @@ //// let opt = ; //// let opt = {}} />; //// let opt = {}} ignore-prop />; -//// let opt = ; +//// let opt = ; //// let opt = ; //// let opt = ; -verify.singleReferenceGroup("(property) LinkProps.goTo: string"); +const rangesByText = test.rangesByText(); +verify.singleReferenceGroup("(property) LinkProps.goTo: string", rangesByText.get("goTo")); diff --git a/tests/cases/fourslash/tsxFindAllReferencesUnionElementType1.ts b/tests/cases/fourslash/tsxFindAllReferencesUnionElementType1.ts index 87adbc11873..9da352c64b1 100644 --- a/tests/cases/fourslash/tsxFindAllReferencesUnionElementType1.ts +++ b/tests/cases/fourslash/tsxFindAllReferencesUnionElementType1.ts @@ -18,11 +18,12 @@ //// return

World

; //// } -//// var [|{| "isWriteAccess": true, "isDefinition": true |}SFCComp|] = SFC1 || SFC2; +//// [|var [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}SFCComp|] = SFC1 || SFC2;|] //// <[|SFCComp|] x={ "hi" } /> +const [, r1, r2] = test.ranges(); verify.singleReferenceGroup(`var SFCComp: ((prop: { x: number; }) => JSX.Element) | ((prop: { x: boolean; -}) => JSX.Element)`); +}) => JSX.Element)`, [r1, r2]); diff --git a/tests/cases/fourslash/tsxFindAllReferencesUnionElementType2.ts b/tests/cases/fourslash/tsxFindAllReferencesUnionElementType2.ts index 2498c8bf996..80291feb451 100644 --- a/tests/cases/fourslash/tsxFindAllReferencesUnionElementType2.ts +++ b/tests/cases/fourslash/tsxFindAllReferencesUnionElementType2.ts @@ -17,7 +17,8 @@ //// private method() { } //// } -//// var [|{| "isWriteAccess": true, "isDefinition": true |}RCComp|] = RC1 || RC2; +//// [|var [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}RCComp|] = RC1 || RC2;|] //// <[|RCComp|] /> -verify.singleReferenceGroup("var RCComp: typeof RC1"); +const [, r1, r2 ] = test.ranges(); +verify.singleReferenceGroup("var RCComp: typeof RC1", [r1, r2]);