@@ -38,177 +38,173 @@ defmodule ElixirLS.Experimental.Provider.Handlers.GotoDefinitionTest do
38
38
Handlers.GotoDefinition . handle ( request , Env . new ( ) )
39
39
end
40
40
41
- defp get_referenced_file_uri do
42
- "references_referenced.ex"
43
- |> FixtureHelpers . get_path ( )
44
- |> Conversions . ensure_uri ( )
41
+ def with_referenced_file ( _ ) do
42
+ path = FixtureHelpers . get_path ( "references_referenced.ex" )
43
+ uri = Conversions . ensure_uri ( path )
44
+ { :ok , file_uri: uri , file_path: path }
45
45
end
46
46
47
- test "find definition remote function call" do
48
- referenced_uri = get_referenced_file_uri ( )
49
- file_path = FixtureHelpers . get_path ( "references_remote.ex" )
50
- { line , char } = { 4 , 28 }
47
+ describe "when a file contains references" do
48
+ setup [ :with_referenced_file ]
51
49
52
- { :ok , request } = request ( file_path , line , char )
50
+ test "find definition remote function call" , % { file_uri: uri } do
51
+ file_path = FixtureHelpers . get_path ( "references_remote.ex" )
52
+ { line , char } = { 4 , 28 }
53
53
54
- annotate_assert ( file_path , line , char , """
55
- ReferencesReferenced.referenced_fun()
56
- ^
57
- """ )
54
+ { :ok , request } = request ( file_path , line , char )
58
55
59
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
56
+ annotate_assert ( file_path , line , char , """
57
+ ReferencesReferenced.referenced_fun()
58
+ ^
59
+ """ )
60
60
61
- assert definition . uri == referenced_uri
62
- assert definition . range . start . line == 1
63
- assert definition . range . start . character == 6
64
- assert definition . range . end . line == 1
65
- assert definition . range . end . character == 6
66
- end
61
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
62
+
63
+ assert definition . uri == uri
64
+ assert definition . range . start . line == 1
65
+ assert definition . range . start . character == 6
66
+ assert definition . range . end . line == 1
67
+ assert definition . range . end . character == 6
68
+ end
67
69
68
- test "find definition remote macro call" do
69
- referenced_uri = get_referenced_file_uri ( )
70
- file_path = FixtureHelpers . get_path ( "references_remote.ex" )
71
- { line , char } = { 8 , 28 }
70
+ test "find definition remote macro call" , % { file_uri: uri } do
71
+ file_path = FixtureHelpers . get_path ( "references_remote.ex" )
72
+ { line , char } = { 8 , 28 }
72
73
73
- { :ok , request } = request ( file_path , line , char )
74
+ { :ok , request } = request ( file_path , line , char )
74
75
75
- annotate_assert ( file_path , line , char , """
76
- ReferencesReferenced.referenced_macro a do
77
- ^
78
- """ )
76
+ annotate_assert ( file_path , line , char , """
77
+ ReferencesReferenced.referenced_macro a do
78
+ ^
79
+ """ )
79
80
80
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
81
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
81
82
82
- assert definition . uri == referenced_uri
83
- assert definition . range . start . line == 8
84
- assert definition . range . start . character == 11
85
- assert definition . range . end . line == 8
86
- assert definition . range . end . character == 11
87
- end
83
+ assert definition . uri == uri
84
+ assert definition . range . start . line == 8
85
+ assert definition . range . start . character == 11
86
+ assert definition . range . end . line == 8
87
+ assert definition . range . end . character == 11
88
+ end
88
89
89
- test "find definition imported function call" do
90
- referenced_uri = get_referenced_file_uri ( )
91
- file_path = FixtureHelpers . get_path ( "references_imported.ex" )
92
- { line , char } = { 4 , 5 }
90
+ test "find definition imported function call" , % { file_uri: uri } do
91
+ file_path = FixtureHelpers . get_path ( "references_imported.ex" )
92
+ { line , char } = { 4 , 5 }
93
93
94
- { :ok , request } = request ( file_path , line , char )
94
+ { :ok , request } = request ( file_path , line , char )
95
95
96
- annotate_assert ( file_path , line , char , """
97
- referenced_fun()
98
- ^
99
- """ )
96
+ annotate_assert ( file_path , line , char , """
97
+ referenced_fun()
98
+ ^
99
+ """ )
100
100
101
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
101
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
102
102
103
- assert definition . uri == referenced_uri
104
- assert definition . range . start . line == 1
105
- assert definition . range . start . character == 6
106
- assert definition . range . end . line == 1
107
- assert definition . range . end . character == 6
108
- end
103
+ assert definition . uri == uri
104
+ assert definition . range . start . line == 1
105
+ assert definition . range . start . character == 6
106
+ assert definition . range . end . line == 1
107
+ assert definition . range . end . character == 6
108
+ end
109
109
110
- test "find definition imported macro call" do
111
- referenced_uri = get_referenced_file_uri ( )
112
- file_path = FixtureHelpers . get_path ( "references_imported.ex" )
113
- { line , char } = { 8 , 5 }
110
+ test "find definition imported macro call" , % { file_uri: uri } do
111
+ file_path = FixtureHelpers . get_path ( "references_imported.ex" )
112
+ { line , char } = { 8 , 5 }
114
113
115
- { :ok , request } = request ( file_path , line , char )
114
+ { :ok , request } = request ( file_path , line , char )
116
115
117
- annotate_assert ( file_path , line , char , """
118
- referenced_macro a do
119
- ^
120
- """ )
116
+ annotate_assert ( file_path , line , char , """
117
+ referenced_macro a do
118
+ ^
119
+ """ )
121
120
122
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
121
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
123
122
124
- assert definition . uri == referenced_uri
125
- assert definition . range . start . line == 8
126
- assert definition . range . start . character == 11
127
- assert definition . range . end . line == 8
128
- assert definition . range . end . character == 11
129
- end
123
+ assert definition . uri == uri
124
+ assert definition . range . start . line == 8
125
+ assert definition . range . start . character == 11
126
+ assert definition . range . end . line == 8
127
+ assert definition . range . end . character == 11
128
+ end
130
129
131
- test "find definition local function call" do
132
- referenced_uri = get_referenced_file_uri ( )
133
- file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
134
- { line , char } = { 15 , 5 }
130
+ test "find definition local function call" , % { file_uri: uri } do
131
+ file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
132
+ { line , char } = { 15 , 5 }
135
133
136
- { :ok , request } = request ( file_path , line , char )
134
+ { :ok , request } = request ( file_path , line , char )
137
135
138
- annotate_assert ( file_path , line , char , """
139
- referenced_fun()
140
- ^
141
- """ )
136
+ annotate_assert ( file_path , line , char , """
137
+ referenced_fun()
138
+ ^
139
+ """ )
142
140
143
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
141
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
144
142
145
- assert definition . uri == referenced_uri
146
- assert definition . range . start . line == 1
147
- assert definition . range . start . character == 6
148
- assert definition . range . end . line == 1
149
- assert definition . range . end . character == 6
150
- end
143
+ assert definition . uri == uri
144
+ assert definition . range . start . line == 1
145
+ assert definition . range . start . character == 6
146
+ assert definition . range . end . line == 1
147
+ assert definition . range . end . character == 6
148
+ end
151
149
152
- test "find definition local macro call" do
153
- referenced_uri = get_referenced_file_uri ( )
154
- file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
155
- { line , char } = { 19 , 5 }
150
+ test "find definition local macro call" , % { file_uri: uri } do
151
+ file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
152
+ { line , char } = { 19 , 5 }
156
153
157
- { :ok , request } = request ( file_path , line , char )
154
+ { :ok , request } = request ( file_path , line , char )
158
155
159
- annotate_assert ( file_path , line , char , """
160
- referenced_macro a do
161
- ^
162
- """ )
156
+ annotate_assert ( file_path , line , char , """
157
+ referenced_macro a do
158
+ ^
159
+ """ )
163
160
164
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
161
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
165
162
166
- assert definition . uri == referenced_uri
167
- assert definition . range . start . line == 8
168
- assert definition . range . start . character == 11
169
- assert definition . range . end . line == 8
170
- assert definition . range . end . character == 11
171
- end
163
+ assert definition . uri == uri
164
+ assert definition . range . start . line == 8
165
+ assert definition . range . start . character == 11
166
+ assert definition . range . end . line == 8
167
+ assert definition . range . end . character == 11
168
+ end
172
169
173
- test "find definition variable" do
174
- referenced_uri = get_referenced_file_uri ( )
175
- file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
176
- { line , char } = { 4 , 13 }
170
+ test "find definition variable" , % { file_uri: uri } do
171
+ file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
172
+ { line , char } = { 4 , 13 }
177
173
178
- { :ok , request } = request ( file_path , line , char )
174
+ { :ok , request } = request ( file_path , line , char )
179
175
180
- annotate_assert ( file_path , line , char , """
181
- IO.puts(referenced_variable + 1)
182
- ^
183
- """ )
176
+ annotate_assert ( file_path , line , char , """
177
+ IO.puts(referenced_variable + 1)
178
+ ^
179
+ """ )
184
180
185
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
181
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
186
182
187
- assert definition . uri == referenced_uri
188
- assert definition . range . start . line == 2
189
- assert definition . range . start . character == 4
190
- assert definition . range . end . line == 2
191
- assert definition . range . end . character == 4
192
- end
183
+ assert definition . uri == uri
184
+ assert definition . range . start . line == 2
185
+ assert definition . range . start . character == 4
186
+ assert definition . range . end . line == 2
187
+ assert definition . range . end . character == 4
188
+ end
193
189
194
- test "find definition attribute" do
195
- referenced_uri = get_referenced_file_uri ( )
196
- file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
197
- { line , char } = { 27 , 5 }
190
+ test "find definition attribute" , % { file_uri: uri } do
191
+ file_path = FixtureHelpers . get_path ( "references_referenced.ex" )
192
+ { line , char } = { 27 , 5 }
198
193
199
- { :ok , request } = request ( file_path , line , char )
194
+ { :ok , request } = request ( file_path , line , char )
200
195
201
- annotate_assert ( file_path , line , char , """
202
- @referenced_attribute
203
- ^
204
- """ )
196
+ annotate_assert ( file_path , line , char , """
197
+ @referenced_attribute
198
+ ^
199
+ """ )
205
200
206
- { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
201
+ { :reply , % Responses.GotoDefinition { result: definition } } = handle ( request )
207
202
208
- assert definition . uri == referenced_uri
209
- assert definition . range . start . line == 24
210
- assert definition . range . start . character == 2
211
- assert definition . range . end . line == 24
212
- assert definition . range . end . character == 2
203
+ assert definition . uri == uri
204
+ assert definition . range . start . line == 24
205
+ assert definition . range . start . character == 2
206
+ assert definition . range . end . line == 24
207
+ assert definition . range . end . character == 2
208
+ end
213
209
end
214
210
end
0 commit comments