defmodule WhiteBread.Outputers.HTML.Formatter do @moduledoc "HTML formatter" def document(content) when is_binary(content) do "#{content}" end def body(content) when is_binary(content) do "#{head "White Bread Results"}#{content}" end defp head(content) do "

#{content}

" end def section(_, []) do "" end def section(title, results) when is_binary(title) do "#{paragraph("Suite: " <> bold(title))}#{list(results)}" end def list([]), do: "Nothing to report." def list([_|_] = elements), do: list(elements, "") defp list([], content) do "" end defp list([head|tail], content) when is_binary(head) do list(tail, content <> element(head)) end defp element(content) when is_binary(content) do "
  • #{content}
  • " end defp paragraph(content) when is_binary(content) do "

    #{content}

    " end defp bold(x) do "#{x}" end def success(text) when is_binary(text) do test(text, "green", "OK") end def failure(text) when is_binary(text) do test(text, "red", "FAILURE") end defp test(text, color, indicator) do "#{indicator}: #{text}" end end