Packages
espec
0.8.1
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/string/end_with.ex
defmodule ESpec.Assertions.String.EndWith do
@moduledoc """
Defines 'end_with' assertion.
it do: expect(string).to end_with(value)
"""
use ESpec.Assertions.Interface
defp match(string, val) do
result = String.ends_with?(string, val)
if result do
{result, val}
else
length = String.length(string)
split_at = if length > 3, do: length - 3, else: 0
{_, last3} = String.split_at(string, split_at)
{result, "...#{last3}"}
end
end
defp success_message(string, val, _result, positive) do
to = if positive, do: "ends", else: "doesn't end"
"`#{inspect string}` #{to} with `#{inspect val}`."
end
defp error_message(string, val, result, positive) do
to = if positive, do: "to", else: "to not"
"Expected `#{inspect string}` #{to} end with `#{val}` but it ends with `#{result}`."
end
end