Skip to content

Commit a3ed366

Browse files
committed
Use setup instead of private_function in the definition test
1 parent 59c101b commit a3ed366

File tree

1 file changed

+127
-131
lines changed

1 file changed

+127
-131
lines changed

apps/language_server/test/experimental/provider/handlers/goto_definition_test.exs

Lines changed: 127 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -38,177 +38,173 @@ defmodule ElixirLS.Experimental.Provider.Handlers.GotoDefinitionTest do
3838
Handlers.GotoDefinition.handle(request, Env.new())
3939
end
4040

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}
4545
end
4646

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]
5149

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}
5353

54-
annotate_assert(file_path, line, char, """
55-
ReferencesReferenced.referenced_fun()
56-
^
57-
""")
54+
{:ok, request} = request(file_path, line, char)
5855

59-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
56+
annotate_assert(file_path, line, char, """
57+
ReferencesReferenced.referenced_fun()
58+
^
59+
""")
6060

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
6769

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}
7273

73-
{:ok, request} = request(file_path, line, char)
74+
{:ok, request} = request(file_path, line, char)
7475

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+
""")
7980

80-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
81+
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
8182

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
8889

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}
9393

94-
{:ok, request} = request(file_path, line, char)
94+
{:ok, request} = request(file_path, line, char)
9595

96-
annotate_assert(file_path, line, char, """
97-
referenced_fun()
98-
^
99-
""")
96+
annotate_assert(file_path, line, char, """
97+
referenced_fun()
98+
^
99+
""")
100100

101-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
101+
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
102102

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
109109

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}
114113

115-
{:ok, request} = request(file_path, line, char)
114+
{:ok, request} = request(file_path, line, char)
116115

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+
""")
121120

122-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
121+
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
123122

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
130129

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}
135133

136-
{:ok, request} = request(file_path, line, char)
134+
{:ok, request} = request(file_path, line, char)
137135

138-
annotate_assert(file_path, line, char, """
139-
referenced_fun()
140-
^
141-
""")
136+
annotate_assert(file_path, line, char, """
137+
referenced_fun()
138+
^
139+
""")
142140

143-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
141+
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
144142

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
151149

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}
156153

157-
{:ok, request} = request(file_path, line, char)
154+
{:ok, request} = request(file_path, line, char)
158155

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+
""")
163160

164-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
161+
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
165162

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
172169

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}
177173

178-
{:ok, request} = request(file_path, line, char)
174+
{:ok, request} = request(file_path, line, char)
179175

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+
""")
184180

185-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
181+
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
186182

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
193189

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}
198193

199-
{:ok, request} = request(file_path, line, char)
194+
{:ok, request} = request(file_path, line, char)
200195

201-
annotate_assert(file_path, line, char, """
202-
@referenced_attribute
203-
^
204-
""")
196+
annotate_assert(file_path, line, char, """
197+
@referenced_attribute
198+
^
199+
""")
205200

206-
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
201+
{:reply, %Responses.GotoDefinition{result: definition}} = handle(request)
207202

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
213209
end
214210
end

0 commit comments

Comments
 (0)