Skip to content

Commit 24ba083

Browse files
committed
add tests
1 parent 33d3ea4 commit 24ba083

File tree

1 file changed

+91
-6
lines changed

1 file changed

+91
-6
lines changed

apps/language_server/test/providers/references/locator_test.exs

Lines changed: 91 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66

77
defmodule ElixirLS.LanguageServer.Providers.References.LocatorTest do
88
use ExUnit.Case, async: true
9-
# TODO remove
109
alias ElixirSense.Core.References.Tracer
11-
# TODO remove
1210
alias ElixirSense.Core.Source
1311
alias ElixirLS.LanguageServer.Providers.References.Locator
1412

@@ -887,8 +885,8 @@ defmodule ElixirLS.LanguageServer.Providers.References.LocatorTest do
887885
assert [
888886
%{
889887
range: %{
890-
start: %{line: 8, column: 9},
891-
end: %{line: 8, column: 9}
888+
start: %{line: 8, column: 3},
889+
end: %{line: 8, column: 3}
892890
},
893891
uri: nil
894892
},
@@ -970,7 +968,7 @@ defmodule ElixirLS.LanguageServer.Providers.References.LocatorTest do
970968
references_2 = Locator.references(buffer, 3, 58, trace)
971969

972970
assert references_1 == references_2
973-
assert [_, _, _] = references_1
971+
assert [_, _, _, _] = references_1
974972
end
975973

976974
test "find references with cursor over a function call from an aliased module", %{trace: trace} do
@@ -1227,6 +1225,13 @@ defmodule ElixirLS.LanguageServer.Providers.References.LocatorTest do
12271225
references = Locator.references(buffer, 7, 15, trace)
12281226

12291227
assert references == [
1228+
%{
1229+
range: %{
1230+
start: %{line: 2, column: 13},
1231+
end: %{line: 2, column: 13}
1232+
},
1233+
uri: nil
1234+
},
12301235
%{
12311236
range: %{
12321237
start: %{line: 7, column: 13},
@@ -1871,7 +1876,6 @@ defmodule ElixirLS.LanguageServer.Providers.References.LocatorTest do
18711876
references = Locator.references(buffer, 3, 53, trace)
18721877

18731878
assert [
1874-
# TODO should be 2, 13
18751879
%{
18761880
range: %{
18771881
start: %{line: 3, column: 5},
@@ -2032,6 +2036,87 @@ defmodule ElixirLS.LanguageServer.Providers.References.LocatorTest do
20322036
end
20332037
end
20342038

2039+
describe "alias" do
2040+
test "find references of alias", %{trace: trace} do
2041+
buffer = """
2042+
defmodule MyModule do
2043+
# ^
2044+
@type t :: %MyModule{
2045+
field: String.t()
2046+
}
2047+
defstruct field: ""
2048+
2049+
def my_fun(arg) do
2050+
:ok
2051+
end
2052+
end
2053+
2054+
defmodule Caller do
2055+
alias MyModule, as: M
2056+
2057+
@spec process(MyModule.t()) :: :ok
2058+
def process(%MyModule{} = struct) do
2059+
MyModule.my_fun(struct)
2060+
end
2061+
end
2062+
"""
2063+
2064+
references = Locator.references(buffer, 1, 11, trace)
2065+
2066+
assert [
2067+
%{
2068+
range: %{
2069+
start: %{line: 3, column: 15},
2070+
end: %{line: 3, column: 15}
2071+
},
2072+
uri: nil
2073+
},
2074+
%{
2075+
range: %{
2076+
start: %{line: 14, column: 3},
2077+
end: %{line: 14, column: 3}
2078+
},
2079+
uri: nil
2080+
},
2081+
%{
2082+
range: %{
2083+
end: %{column: 27, line: 16},
2084+
start: %{column: 26, line: 16}
2085+
},
2086+
uri: nil
2087+
},
2088+
%{
2089+
range: %{
2090+
start: %{line: 16, column: 26},
2091+
end: %{line: 16, column: 27}
2092+
},
2093+
uri: nil
2094+
},
2095+
%{
2096+
range: %{
2097+
end: %{column: 16, line: 17},
2098+
start: %{column: 16, line: 17}
2099+
},
2100+
uri: nil
2101+
},
2102+
%{
2103+
range: %{
2104+
start: %{line: 18, column: 5},
2105+
end: %{line: 18, column: 5}
2106+
},
2107+
uri: nil
2108+
},
2109+
%{
2110+
range: %{
2111+
start: %{line: 18, column: 14},
2112+
end: %{line: 18, column: 20}
2113+
},
2114+
uri: nil
2115+
}
2116+
] = references
2117+
end
2118+
end
2119+
20352120
defp read_line(file, range) do
20362121
{line, column} = {range.start.line, range.start.column}
20372122

0 commit comments

Comments
 (0)