diff --git a/lib/readability/helper.ex b/lib/readability/helper.ex index a30c755..20def1e 100644 --- a/lib/readability/helper.ex +++ b/lib/readability/helper.ex @@ -29,6 +29,7 @@ defmodule Readability.Helper do """ @spec remove_attrs(html_tree, String.t() | [String.t()] | Regex.t()) :: html_tree def remove_attrs(content, _) when is_binary(content), do: content + def remove_attrs({:comment, _} = comment, _), do: comment def remove_attrs([], _), do: [] def remove_attrs([h | t], t_attrs) do diff --git a/test/readability/helper_test.exs b/test/readability/helper_test.exs index 3c57359..ac4ac90 100644 --- a/test/readability/helper_test.exs +++ b/test/readability/helper_test.exs @@ -57,7 +57,6 @@ defmodule Readability.HelperTest do assert result == expected end - test "inner text length", %{html_tree: html_tree} do result = html_tree |> Helper.text_length() assert result == 5 @@ -93,4 +92,10 @@ defmodule Readability.HelperTest do assert result_with_scheme =~ foo_url assert result_with_scheme =~ bar_url_https end + + test "remove attrs with comments" do + tree = Floki.parse("
hello
") + expected = Floki.parse("
hello
") + assert expected == Helper.remove_attrs(tree, ~w[class]) + end end