Packages
espec
0.5.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/start_with.ex
defmodule ESpec.Assertions.String.StartWith do
use ESpec.Assertions.Interface
defp match(string, val) do
result = String.starts_with?(string, val)
if result do
{result, val}
else
length = String.length(string)
split_at = if length > 3, do: 3, else: length
{first3, _} = String.split_at(string, split_at)
{result, "#{first3}..."}
end
end
defp success_message(string, val, _result, positive) do
to = if positive, do: "starts", else: "doesn't start"
"`#{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} start with `#{val}` but it starts with `#{result}`."
end
end