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 = "no
foo
bar" WHITEWASH_RESULT = "
foo
" + WHITEWASH_RESULT_LIBXML2911 = "
no
\n
foo
" 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