Merge pull request #150 from iamvery/format-match-failures
Format match failures
This commit is contained in:
@@ -27,8 +27,7 @@ end
|
|||||||
|
|
||||||
defmodule Display.Uncoloured do
|
defmodule Display.Uncoloured do
|
||||||
def red(str), do: str
|
def red(str), do: str
|
||||||
|
|
||||||
def cyan(str), do: str
|
def cyan(str), do: str
|
||||||
|
|
||||||
def green(str), do: str
|
def green(str), do: str
|
||||||
|
def yellow(str), do: str
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -26,6 +26,12 @@ defmodule Display.Failure do
|
|||||||
defp format_inequality(message, %{left: @no_value, right: @no_value}) do
|
defp format_inequality(message, %{left: @no_value, right: @no_value}) do
|
||||||
message
|
message
|
||||||
end
|
end
|
||||||
|
defp format_inequality(message, %{left: @no_value, right: match_value}) do
|
||||||
|
"""
|
||||||
|
#{message}
|
||||||
|
value does not match: #{match_value |> inspect |> Paint.yellow}
|
||||||
|
"""
|
||||||
|
end
|
||||||
defp format_inequality(message, %{left: left, right: right}) do
|
defp format_inequality(message, %{left: left, right: right}) do
|
||||||
"""
|
"""
|
||||||
#{message}
|
#{message}
|
||||||
|
|||||||
@@ -14,6 +14,29 @@ defmodule FailureTests do
|
|||||||
assert Failure.format_failure(error) == "Assertion failed in some_file.ex:42\nhola\n"
|
assert Failure.format_failure(error) == "Assertion failed in some_file.ex:42\nhola\n"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "equality failure" do
|
||||||
|
error = error(%ExUnit.AssertionError{expr: quote(do: :lol == :wat), left: :lol, right: :wat})
|
||||||
|
|
||||||
|
assert Failure.format_failure(error) == """
|
||||||
|
Assertion failed in some_file.ex:42
|
||||||
|
:lol == :wat
|
||||||
|
|
||||||
|
left: :lol
|
||||||
|
right: :wat
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
|
||||||
|
test "match failure" do
|
||||||
|
error = error(%ExUnit.AssertionError{expr: quote(do: match?(:lol,:wat)), right: :wat})
|
||||||
|
|
||||||
|
assert Failure.format_failure(error) == """
|
||||||
|
Assertion failed in some_file.ex:42
|
||||||
|
match?(:lol, :wat)
|
||||||
|
|
||||||
|
value does not match: :wat
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
|
||||||
defp error(error) do
|
defp error(error) do
|
||||||
%{
|
%{
|
||||||
error: error,
|
error: error,
|
||||||
|
|||||||
Reference in New Issue
Block a user