Packages
espec
1.9.0
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/to.ex
defmodule ESpec.To do
@moduledoc """
Defines `to`, `to_not` and `not_to` helper functions.
The functions implement syntax: 'expect 1 |> to eq 1'
These functions wrap arguments for `ESpec.ExpectTo` module.
Also defines `to` helper function for mocking without parenthesis:
`allow SomeModule |> to accept(:f, fn(a) -> "mock" end)`
These functions wrap arguments for `ESpec.AllowTo` module.
"""
alias ESpec.AllowTo
alias ESpec.ExpectTo
@doc "Wrappers for `ESpec.AllowTo.to`."
def to(module, {:accept, name, function}) when is_atom(name) do
AllowTo.to({:accept, name, function}, {AllowTo, module})
end
def to(module, {:accept, name, function, meck_options})
when is_atom(name) and is_list(meck_options) do
AllowTo.to({:accept, name, function, meck_options}, {AllowTo, module})
end
def to(module, {:accept, list}) when is_list(list) do
AllowTo.to({:accept, list}, {AllowTo, module})
end
def to(module, {:accept, list, meck_options}) when is_list(list) and is_list(meck_options) do
AllowTo.to({:accept, list, meck_options}, {AllowTo, module})
end
def to(module, {:accept, name}) when is_atom(name) do
AllowTo.to({:accept, name}, {AllowTo, module})
end
def to({ExpectTo, subject, stacktrace}, {module, data}) do
ExpectTo.to({module, data}, {ExpectTo, subject, stacktrace})
end
def to(subject, {module, data}) do
ExpectTo.to({module, data}, {ExpectTo, subject, ESpec.Expect.pruned_stacktrace()})
end
def to_not({ExpectTo, subject, stacktrace}, {module, data}) do
ExpectTo.to_not({module, data}, {ExpectTo, subject, stacktrace})
end
def to_not(subject, {module, data}) do
ExpectTo.to_not({module, data}, {ExpectTo, subject, ESpec.Expect.pruned_stacktrace()})
end
def not_to({ExpectTo, subject, stacktrace}, {module, data}) do
to_not({ExpectTo, subject, stacktrace}, {module, data})
end
def not_to(subject, {module, data}) do
to_not(subject, {module, data})
end
end