diff --git a/lib/temple/parser/nonvoid_elements_aliases.ex b/lib/temple/parser/nonvoid_elements_aliases.ex index a60e9cb..89cb09d 100644 --- a/lib/temple/parser/nonvoid_elements_aliases.ex +++ b/lib/temple/parser/nonvoid_elements_aliases.ex @@ -17,9 +17,7 @@ defmodule Temple.Parser.NonvoidElementsAliases do def run({name, _, args}) do name = Parser.nonvoid_elements_lookup()[name] - {do_and_else, args} = - args - |> Temple.Parser.Utils.split_args() + {do_and_else, args} = Temple.Parser.Utils.split_args(args) {do_and_else, args} = Temple.Parser.Utils.consolidate_blocks(do_and_else, args) diff --git a/lib/temple/parser/void_elements_aliases.ex b/lib/temple/parser/void_elements_aliases.ex index c1f9292..7abd6b9 100644 --- a/lib/temple/parser/void_elements_aliases.ex +++ b/lib/temple/parser/void_elements_aliases.ex @@ -13,7 +13,14 @@ defmodule Temple.Parser.VoidElementsAliases do @impl Temple.Parser def run({name, _, args}) do - {_do_and_else, [args]} = Temple.Parser.Utils.split_args(args) + args = + case Temple.Parser.Utils.split_args(args) do + {_, [args]} when is_list(args) -> + args + + {_, args} -> + args + end name = Temple.Parser.void_elements_lookup()[name] diff --git a/test/temple_test.exs b/test/temple_test.exs index a72b698..fe9339c 100644 --- a/test/temple_test.exs +++ b/test/temple_test.exs @@ -317,4 +317,22 @@ defmodule TempleTest do assert result == ~s{>} end + + test "hr tag works" do + assigns = %{foo: [class: "foofoo"]} + + result = + temple do + div do: "foo" + hr() + div do: "foo" + hr @foo + div do: "bar" + hr class: "foofoo" + div do: "bar" + end + + assert evaluate_template(result, assigns) == + ~s{
foo

foo

bar

bar
} + end end