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/empty_test.exs

53 lines
1.1 KiB
Elixir
Raw Normal View History

2021-03-15 04:46:16 +00:00
defmodule Temple.Parser.EmptyTest do
use ExUnit.Case, async: true
alias Temple.Parser.Empty
describe "applicable?/1" do
test "returns true when the node is non-content" do
assert Empty.applicable?(nil)
assert Empty.applicable?([])
end
test "returns fals when the node is a anything other than a string literal" do
for node <- [
"string",
:atom,
%{key: :value},
{:ast?, [], []}
] do
refute Empty.applicable?(node)
end
end
end
describe "run/2" do
test "adds an empty node to the buffer" do
for _ <- [nil, []] do
ast = Empty.run(nil)
2021-04-09 03:04:26 +00:00
assert %Empty{
2021-03-15 04:46:16 +00:00
content: nil,
children: []
} == ast
end
end
end
2021-04-09 03:04:26 +00:00
describe "Temple.EEx.to_eex/1" do
test "emits eex for non void component" do
raw_ast =
quote do
nil
end
result =
raw_ast
|> Empty.run()
|> Temple.EEx.to_eex()
assert result |> :erlang.iolist_to_binary() == ""
end
end
2021-03-15 04:46:16 +00:00
end