Packages
espec
0.3.5
1.10.0
1.9.2
1.9.1
1.9.0
1.8.3
1.8.2
1.8.1
1.8.0
1.7.0
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.5.0
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.8.28
0.8.27
0.8.26
0.8.25
0.8.24
0.8.23
0.8.22
0.8.21
0.8.20
0.8.19
0.8.18
0.8.17
0.8.16
0.8.15
0.8.14
0.8.13
0.8.12
0.8.11
0.8.10
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.7
0.3.5
0.3.0
0.2.0
0.1.0
BDD testing framework for Elixir inspired by RSpec.
Current section
Files
Jump to
Current section
Files
lib/espec/assertions/throw_term.ex
defmodule ESpec.Assertions.ThrowTerm do
use ESpec.Assertion
defp match(subject, []) do
try do
subject.()
{:false, :false}
catch
_term -> {:true, :true}
end
end
defp match(subject, [term]) do
try do
subject.()
{:false, :false}
catch
t -> if t == term, do: {true, term}, else: {:false, t}
end
end
defp error_message(subject, data, :false, positive) do
to = if positive, do: "to", else: "to not"
but = if positive, do: "nothing was thrown", else: "a term was thrown"
"Expected `#{inspect subject}` #{to} throw term, but #{but}."
end
defp error_message(subject, [exp_term], term, positive) do
to = if positive, do: "to", else: "to not"
but = if positive, do: "nothing was thrown", else: "the `#{term}` was thrown"
"Expected `#{inspect subject}` to throw #{inspect exp_term}, but `#{but}`."
end
defp error_message(subject, [exp_term], term, _positive) do
"Expected `#{inspect subject}` to throw `#{inspect exp_term}`, but the `#{inspect term}` term was thrown."
end
end