@@ -3,16 +3,18 @@ namespace ts.projectSystem {
3
3
const exportVariable = "export const value = 0;" ;
4
4
const exportArrayDestructured = "export const [valueA, valueB] = [0, 1];" ;
5
5
const exportObjectDestructured = "export const { valueC, valueD: renamedD } = { valueC: 0, valueD: 1 };" ;
6
+ const exportNestedObject = "export const { nest: [valueE, { valueF }] } = { nest: [0, { valueF: 1 }] };" ;
6
7
7
8
const mainTs : File = {
8
9
path : "/main.ts" ,
9
- content : 'import { value, valueA, valueB, valueC, renamedD } from "./mod";' ,
10
+ content : 'import { value, valueA, valueB, valueC, renamedD, valueE, valueF } from "./mod";' ,
10
11
} ;
11
12
const modTs : File = {
12
13
path : "/mod.ts" ,
13
14
content : `${ exportVariable }
14
15
${ exportArrayDestructured }
15
16
${ exportObjectDestructured }
17
+ ${ exportNestedObject }
16
18
` ,
17
19
} ;
18
20
const tsconfig : File = {
@@ -146,5 +148,38 @@ ${exportObjectDestructured}
146
148
147
149
assert . deepEqual ( response , expectResponse ) ;
148
150
} ) ;
151
+
152
+ it ( "should get nested object decralation references" , ( ) => {
153
+ const session = makeSampleSession ( ) ;
154
+ const response = executeSessionRequest < protocol . ReferencesRequest , protocol . ReferencesResponse > (
155
+ session ,
156
+ protocol . CommandTypes . References ,
157
+ protocolFileLocationFromSubstring ( modTs , "valueF" ) ,
158
+ ) ;
159
+
160
+ const expectResponse = {
161
+ refs : [
162
+ referenceModTs ( {
163
+ text : "valueF" ,
164
+ lineText : exportNestedObject ,
165
+ contextText : exportNestedObject ,
166
+ } ) ,
167
+ referenceMainTs ( mainTs , "valueF" ) ,
168
+ referenceModTs (
169
+ {
170
+ text : "valueF" ,
171
+ lineText : exportNestedObject ,
172
+ contextText : "valueF: 1" ,
173
+ } ,
174
+ { options : { index : 1 } } ,
175
+ ) ,
176
+ ] ,
177
+ symbolDisplayString : "const valueF: number" ,
178
+ symbolName : "valueF" ,
179
+ symbolStartOffset : protocolLocationFromSubstring ( modTs . content , "valueF" ) . offset ,
180
+ } ;
181
+
182
+ assert . deepEqual ( response , expectResponse ) ;
183
+ } ) ;
149
184
} ) ;
150
185
}
0 commit comments