Packages

Pavlov is a BDD library for your Elixir projects, allowing you to write expressive unit tests that tell the story of how your application behaves. The syntax tries to follow RSpec's wherever possible.

Current section

Files

Jump to
pavlov lib syntax sugar.ex
Raw

lib/syntax/sugar.ex

defmodule Pavlov.Syntax.Sugar do
@moduledoc """
Provides an alternative DSL for BDD methods.
"""
for describe_alias <- [:context] do
@doc """
An alias for `describe`.
"""
defmacro unquote(describe_alias)(description, var \\ quote(do: _), contents) do
quote do
Pavlov.Case.describe(unquote(description), unquote(var), unquote(contents))
end
end
end
for xdescribe_alias <- [:xcontext] do
@doc """
An alias for `xdescribe`.
"""
defmacro unquote(xdescribe_alias)(description, var \\ quote(do: _), contents) do
quote do
Pavlov.Case.xdescribe(unquote(description), unquote(var), unquote(contents))
end
end
end
end