diff --git a/lib/floki/deep_text.ex b/lib/floki/deep_text.ex index cafb1ba9..79c5cee1 100644 --- a/lib/floki/deep_text.ex +++ b/lib/floki/deep_text.ex @@ -43,6 +43,7 @@ defmodule Floki.DeepText do defp get_text({"script", _, _}, acc, _, _, false, _), do: acc defp get_text({"style", _, _}, acc, _, _, _, false), do: acc + defp get_text({:pi, _, _}, acc, _, _, _, _), do: acc defp get_text({"input", attrs, _}, acc, _, true, _, _) do [acc, Floki.TextExtractor.extract_input_value(attrs)] diff --git a/test/floki/deep_text_test.exs b/test/floki/deep_text_test.exs index abd78f48..c7d030ed 100644 --- a/test/floki/deep_text_test.exs +++ b/test/floki/deep_text_test.exs @@ -106,4 +106,10 @@ defmodule Floki.DeepTextTest do assert Floki.DeepText.get(nodes) == "foo\nbaz" end + + test "HTML that contains a processing instruction ()" do + nodes = [{:pi, "", [{"indica", "indica"}]}, "foo"] + + assert Floki.DeepText.get(nodes) == "foo" + end end diff --git a/test/floki/flat_text_test.exs b/test/floki/flat_text_test.exs index 8ed2ff38..36471a8e 100644 --- a/test/floki/flat_text_test.exs +++ b/test/floki/flat_text_test.exs @@ -123,4 +123,10 @@ defmodule Floki.FlatTextTest do assert Floki.FlatText.get([]) == "" assert Floki.FlatText.get({"div", [], []}) == "" end + + test "HTML that contains a processing instruction ()" do + nodes = [{:pi, "", [{"indica", "indica"}]}, "foo"] + + assert Floki.FlatText.get(nodes) == "foo" + end end