Improve tests for submit, phx_button, and phx_label

This commit is contained in:
Mitchell Hanberg 2019-08-27 21:57:41 -04:00
parent dbb26a6d58
commit ac56c3cc81
2 changed files with 17 additions and 3 deletions

View file

@ -32,7 +32,9 @@ defmodule Temple.Link do
"""
defmacro phx_button(opts, do: block) do
quote location: :keep do
{:safe, link} = HTML.Link.button(temple(do: unquote(block)), unquote(opts))
{:safe, link} =
temple(do: unquote(block))
|> HTML.Link.button(unquote(opts))
Utils.put_buffer(var!(buff, Temple.Tags), link)
end

View file

@ -524,13 +524,17 @@ defmodule Temple.FormTest do
{:safe, result} =
temple do
submit do
text "Submit"
div do
text "Submit"
end
end
end
assert String.starts_with?(result, ~s{<button})
assert result =~ ~s{type="submit}
assert result =~ ~s{<div>}
assert result =~ ~s{Submit}
assert result =~ ~s{</div>}
assert String.ends_with?(result, ~s{</button>})
end
@ -551,14 +555,18 @@ defmodule Temple.FormTest do
{:safe, result} =
temple do
submit class: "btn" do
text "Submit"
div do
text "Submit"
end
end
end
assert String.starts_with?(result, ~s{<button})
assert result =~ ~s{type="submit}
assert result =~ ~s{class="btn"}
assert result =~ ~s{<div>}
assert result =~ ~s{Submit}
assert result =~ ~s{</div>}
assert String.ends_with?(result, ~s{</button>})
end
@ -611,7 +619,9 @@ defmodule Temple.FormTest do
assert String.starts_with?(result, ~s{<label})
assert result =~ ~s{for="user_name"}
assert result =~ ~s{<div>}
assert result =~ ~s{Name}
assert result =~ ~s{</div>}
assert String.ends_with?(result, ~s{</label>})
end
@ -641,7 +651,9 @@ defmodule Temple.FormTest do
assert String.starts_with?(result, ~s{<label})
assert result =~ ~s{for="user_name"}
assert result =~ ~s{class="label-style"}
assert result =~ ~s{<div>}
assert result =~ ~s{Name}
assert result =~ ~s{</div>}
assert String.ends_with?(result, ~s{</label>})
end