From 1f6e1184fda9ad7e1367106c96b45d51e72b9110 Mon Sep 17 00:00:00 2001 From: Yuri Pereira Constante Date: Wed, 22 May 2024 19:25:21 -0300 Subject: [PATCH] Remove whitespace on node without attributes --- lib/floki/raw_html.ex | 9 ++++----- test/floki_test.exs | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/floki/raw_html.ex b/lib/floki/raw_html.ex index f0d3ea99..1d1d1ab2 100644 --- a/lib/floki/raw_html.ex +++ b/lib/floki/raw_html.ex @@ -88,7 +88,7 @@ defmodule Floki.RawHTML do defp build_raw_html([{:pi, tag, attrs} | tail], html, encoder, padding, self_closing_tags) do build_raw_html( tail, - [html, leftpad(padding), ""], + [html, leftpad(padding), ""], encoder, padding, self_closing_tags @@ -129,7 +129,7 @@ defmodule Floki.RawHTML do end defp tag_attrs(attr_list, encoder) do - Enum.map_intersperse(attr_list, ?\s, &build_attrs(&1, encoder)) + Enum.map(attr_list, &build_attrs(&1, encoder)) end defp tag_with_attrs(type, [], children, padding, _encoder, self_closing_tags), @@ -140,7 +140,6 @@ defmodule Floki.RawHTML do leftpad(padding), "<", type, - ?\s, tag_attrs(attrs, encoder) | close_open_tag(type, children, self_closing_tags) ] @@ -167,10 +166,10 @@ defmodule Floki.RawHTML do end defp build_attrs({attr, value}, encoder) do - [attr, "=\"", encoder.(value) | "\""] + [?\s, attr, "=\"", encoder.(value) | "\""] end - defp build_attrs(attr, _encoder), do: attr + defp build_attrs(attr, _encoder), do: [?\s, attr] defp tag_for(type, attrs, children, encoder, padding, self_closing_tags) do encoder = diff --git a/test/floki_test.exs b/test/floki_test.exs index 3c454583..04696b73 100644 --- a/test/floki_test.exs +++ b/test/floki_test.exs @@ -552,10 +552,10 @@ defmodule FlokiTest do # no guarantee of attribute order from a map recombined = case Floki.raw_html(parsed) do - "

lol


" -> + "

lol


" -> true - "

lol


" -> + "

lol


" -> true _other ->