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
Mitchell Hanberg 41f9b94d0f Hook the AST generation in to the temple macros
- Removes the old way
- Removes the ability to compact an element
2021-04-09 00:16:30 -04:00

45 lines
902 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{
content: expression,
children: []
} == ast
end
end
describe "to_eex/1" do
test "emits eex" do
result =
quote do
Foo.bar!(baz)
end
|> Default.run()
|> Temple.EEx.to_eex()
assert result |> :erlang.iolist_to_binary() == ~s|<%= Foo.bar!(baz) %>\n|
end
end
end