Skip to content

Commit d87c5e5

Browse files
author
Étienne Lévesque
authored
fix(test lenses): No longer expect "do" on test declaration line (#493)
* fix: No longer expect "do" on test declaration line * test: Fix failing test and remove unused function clause
1 parent 7928174 commit d87c5e5

File tree

2 files changed

+24
-3
lines changed
  • apps/language_server

2 files changed

+24
-3
lines changed

apps/language_server/lib/language_server/providers/code_lens/test.ex

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ defmodule ElixirLS.LanguageServer.Providers.CodeLens.Test do
4848
end
4949
end
5050

51-
def code_lens(_uri, _text), do: {:ok, []}
52-
5351
defp get_test_lenses(test_blocks, file_path, project_dir) do
5452
args = fn block ->
5553
%{
@@ -93,7 +91,7 @@ defmodule ElixirLS.LanguageServer.Providers.CodeLens.Test do
9391
end)
9492

9593
%{"name" => test_name} =
96-
~r/^\s*test "(?<name>.*)"(,.*)? do/
94+
~r/^\s*test "(?<name>.*)"(,.*)?/
9795
|> Regex.named_captures(Enum.at(source_lines, line - 1))
9896

9997
%TestBlock{name: test_name, describe: describe, line: line}

apps/language_server/test/providers/code_lens/test_test.exs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,29 @@ defmodule ElixirLS.LanguageServer.Providers.CodeLens.TestTest do
327327
end
328328
end
329329

330+
test "returns lenses for tests with multiline context parameters" do
331+
text = """
332+
defmodule MyModule do
333+
use ExUnit.Case
334+
335+
test "test1", %{
336+
} do
337+
end
338+
end
339+
"""
340+
341+
uri = "file:///project/file.ex"
342+
343+
{:ok, lenses} = CodeLens.Test.code_lens(uri, text, @project_dir)
344+
345+
assert Enum.member?(
346+
lenses,
347+
build_code_lens(3, :test, maybe_convert_path_separators("/project/file.ex"), %{
348+
"testName" => "test1"
349+
})
350+
)
351+
end
352+
330353
defp build_code_lens(line, target, file_path, args) do
331354
arguments =
332355
%{

0 commit comments

Comments
 (0)