Skip to content

Commit 7de6031

Browse files
committed
Perform single pass in ExUnit.Filters
1 parent d35d60f commit 7de6031

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

lib/ex_unit/lib/ex_unit/filters.ex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ defmodule ExUnit.Filters do
3434
|> Enum.split_while(&match?({_, ""}, Integer.parse(&1)))
3535

3636
line_numbers =
37-
reversed_line_numbers
38-
|> Enum.reject(&invalid_line_number?/1)
39-
|> Enum.reverse()
40-
|> Enum.map(&{:line, &1})
37+
for line_number <- reversed_line_numbers,
38+
valid_line_number?(line_number),
39+
reduce: [],
40+
do: (acc -> [line: line_number] ++ acc)
4141

4242
path =
4343
reversed_path_parts
@@ -48,14 +48,14 @@ defmodule ExUnit.Filters do
4848
end
4949
end
5050

51-
defp invalid_line_number?(arg) do
51+
defp valid_line_number?(arg) do
5252
case Integer.parse(arg) do
5353
{num, ""} when num > 0 ->
54-
false
54+
true
5555

5656
_ ->
5757
IO.warn("invalid line number given as ExUnit filter: #{arg}", [])
58-
true
58+
false
5959
end
6060
end
6161

0 commit comments

Comments
 (0)