From fb152b19d679652d7781aa855b3892283864f530 Mon Sep 17 00:00:00 2001
From: Mike Dalessio
Date: Sun, 6 Jun 2021 12:31:42 -0400
Subject: [PATCH] test: libxml 2.9.11 handles namespaces in HTML docs
differently
Update tests to pass with this version.
---
test/integration/test_ad_hoc.rb | 13 ++++++++++---
test/integration/test_scrubbers.rb | 7 +++++--
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/test/integration/test_ad_hoc.rb b/test/integration/test_ad_hoc.rb
index 55f6687b..5308ecd3 100644
--- a/test/integration/test_ad_hoc.rb
+++ b/test/integration/test_ad_hoc.rb
@@ -79,13 +79,20 @@ def test_whitewash_on_fragment
def test_fragment_whitewash_on_microsofty_markup
whitewashed = Loofah.fragment(MSWORD_HTML).scrub!(:whitewash)
- assert_equal "Foo BOLD
", whitewashed.to_s.strip
+ if Nokogiri.uses_libxml?("<2.9.11")
+ assert_equal "Foo BOLD
", whitewashed.to_s.strip
+ else
+ assert_equal "Foo BOLD
", whitewashed.to_s.strip
+ end
end
def test_document_whitewash_on_microsofty_markup
whitewashed = Loofah.document(MSWORD_HTML).scrub!(:whitewash)
- assert_match %r(Foo BOLD
), whitewashed.to_s
- assert_equal "Foo BOLD
", whitewashed.xpath("/html/body/*").to_s
+ if Nokogiri.uses_libxml?("<2.9.11")
+ assert_equal "Foo BOLD
", whitewashed.xpath("/html/body/*").to_s
+ else
+ assert_equal "Foo BOLD
", whitewashed.xpath("/html/body/*").to_s
+ end
end
def test_return_empty_string_when_nothing_left
diff --git a/test/integration/test_scrubbers.rb b/test/integration/test_scrubbers.rb
index ed8604f2..c8636a3c 100644
--- a/test/integration/test_scrubbers.rb
+++ b/test/integration/test_scrubbers.rb
@@ -8,6 +8,7 @@ class IntegrationTestScrubbers < Loofah::TestCase
WHITEWASH_FRAGMENT = "nofoo
bar"
WHITEWASH_RESULT = "foo
"
+ WHITEWASH_RESULT_LIBXML2911 = "no
\nfoo
"
NOFOLLOW_FRAGMENT = 'Click here'
NOFOLLOW_RESULT = 'Click here'
@@ -68,7 +69,8 @@ class IntegrationTestScrubbers < Loofah::TestCase
doc = Loofah::HTML::Document.parse "#{WHITEWASH_FRAGMENT}"
result = doc.scrub! :whitewash
- assert_equal WHITEWASH_RESULT, doc.xpath("/html/body").inner_html
+ ww_result = Nokogiri.uses_libxml?("<2.9.11") ? WHITEWASH_RESULT : WHITEWASH_RESULT_LIBXML2911
+ assert_equal ww_result, doc.xpath("/html/body").inner_html
assert_equal doc, result
end
end
@@ -246,7 +248,8 @@ class IntegrationTestScrubbers < Loofah::TestCase
doc = Loofah::HTML::DocumentFragment.parse "#{WHITEWASH_FRAGMENT}
"
result = doc.scrub! :whitewash
- assert_equal WHITEWASH_RESULT, doc.xpath("./div").inner_html
+ ww_result = Nokogiri.uses_libxml?("<2.9.11") ? WHITEWASH_RESULT : WHITEWASH_RESULT_LIBXML2911
+ assert_equal ww_result, doc.xpath("./div").inner_html
assert_equal doc, result
end
end