This repository has been archived on 2023-08-07. You can view files and clone it, but cannot push or open issues or pull requests.
temple/test/parser/default_test.exs
2021-04-11 17:27:02 -04:00

42 lines
852 B
Elixir

defmodule Temple.Parser.DefaultTest do
use ExUnit.Case, async: true
alias Temple.Parser.Default
describe "applicable?/1" do
test "returns true when the node is an elixir expression" do
ast =
quote do
Foo.bar!(baz)
end
assert Default.applicable?(ast)
end
end
describe "run/2" do
test "adds a elixir expression node to the buffer" do
expression =
quote do
Foo.bar!(baz)
end
ast = Default.run(expression)
assert %Default{elixir_ast: expression} == ast
end
end
describe "to_eex/1" do
test "emits eex" do
result =
quote do
Foo.bar!(baz)
end
|> Default.run()
|> Temple.Generator.to_eex()
assert result |> :erlang.iolist_to_binary() == ~s|<%= Foo.bar!(baz) %>\n|
end
end
end