Skip to content

Commit 52dc944

Browse files
author
José Valim
committed
Do not allow negative line numbers without generated annotation
1 parent 3d27c74 commit 52dc944

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

lib/ex_unit/lib/ex_unit/assertions.ex

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,13 @@ defmodule ExUnit.Assertions do
103103
# to avoid silly warnings though.
104104
return =
105105
no_warning(quote do
106-
if right do
107-
right
108-
else
109-
raise ExUnit.AssertionError,
110-
expr: expr,
111-
message: "Expected truthy, got #{inspect right}"
106+
case right do
107+
x when x in [nil, false] ->
108+
raise ExUnit.AssertionError,
109+
expr: expr,
110+
message: "Expected truthy, got #{inspect right}"
111+
_ ->
112+
:ok
112113
end
113114
end)
114115

@@ -416,8 +417,11 @@ defmodule ExUnit.Assertions do
416417
|> elem(1)
417418
end
418419

419-
defp no_warning({name, meta, args}) do
420-
{name, [line: -1] ++ meta, args}
420+
defp no_warning({name, meta, [expr, [do: clauses]]}) do
421+
clauses = Enum.map clauses, fn {:->, meta, args} ->
422+
{:->, [generated: true] ++ Keyword.put(meta, :line, -1), args}
423+
end
424+
{name, meta, [expr, [do: clauses]]}
421425
end
422426

423427
@doc """

0 commit comments

Comments
 (0)