Hello community,

here is the log from the commit of package rubygem-loofah for openSUSE:Factory 
checked in at 2015-05-07 08:29:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-loofah (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-loofah.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-loofah"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-loofah/rubygem-loofah.changes    
2015-02-18 12:08:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-loofah.new/rubygem-loofah.changes       
2015-05-07 08:29:22.000000000 +0200
@@ -1,0 +2,14 @@
+Wed May  6 04:30:11 UTC 2015 - [email protected]
+
+- updated to version 2.0.2
+ see installed CHANGELOG.rdoc
+
+  == 2.0.2 / 2015-05-05
+  
+  Bug fixes:
+  
+  * Fix error with `#to_text` when Loofah::Helpers hadn't been required. #75
+  * Allow multi-word data attributes. #84 (Thanks, @jstorimer!)
+  * Allow negative values in CSS properties. #85 (Thanks, @siddhartham!)
+
+-------------------------------------------------------------------

Old:
----
  loofah-2.0.1.gem

New:
----
  loofah-2.0.2.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-loofah.spec ++++++
--- /var/tmp/diff_new_pack.I35KmS/_old  2015-05-07 08:29:22.000000000 +0200
+++ /var/tmp/diff_new_pack.I35KmS/_new  2015-05-07 08:29:22.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-loofah
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-loofah
-Version:        2.0.1
+Version:        2.0.2
 Release:        0
 %define mod_name loofah
 %define mod_full_name %{mod_name}-%{version}

++++++ loofah-2.0.1.gem -> loofah-2.0.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.rdoc new/CHANGELOG.rdoc
--- old/CHANGELOG.rdoc  2014-08-21 23:27:46.000000000 +0200
+++ new/CHANGELOG.rdoc  2015-05-05 21:59:35.000000000 +0200
@@ -1,5 +1,14 @@
 = Changelog
 
+== 2.0.2 / 2015-05-05
+
+Bug fixes:
+
+* Fix error with `#to_text` when Loofah::Helpers hadn't been required. #75
+* Allow multi-word data attributes. #84 (Thanks, @jstorimer!)
+* Allow negative values in CSS properties. #85 (Thanks, @siddhartham!)
+
+
 == 2.0.1 / 2014-08-21
 
 Bug fixes:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Manifest.txt new/Manifest.txt
--- old/Manifest.txt    2014-08-21 23:27:46.000000000 +0200
+++ new/Manifest.txt    2015-05-05 21:59:35.000000000 +0200
@@ -1,3 +1,4 @@
+.gemtest
 CHANGELOG.rdoc
 Gemfile
 MIT-LICENSE.txt
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/loofah/helpers.rb new/lib/loofah/helpers.rb
--- old/lib/loofah/helpers.rb   2014-08-21 23:27:46.000000000 +0200
+++ new/lib/loofah/helpers.rb   2015-05-05 21:59:35.000000000 +0200
@@ -33,9 +33,10 @@
 
       #
       #  A helper to remove extraneous whitespace from text-ified HTML
+      #  TODO: remove this in a future major-point-release.
       #
       def remove_extraneous_whitespace(string)
-        string.gsub(/\n\s*\n\s*\n/,"\n\n")
+        Loofah.remove_extraneous_whitespace string
       end
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/loofah/html5/scrub.rb 
new/lib/loofah/html5/scrub.rb
--- old/lib/loofah/html5/scrub.rb       2014-08-21 23:27:46.000000000 +0200
+++ new/lib/loofah/html5/scrub.rb       2015-05-05 21:59:35.000000000 +0200
@@ -23,7 +23,7 @@
                           attr_node.node_name
                         end
 
-            if attr_name =~ /\Adata-\w+\z/
+            if attr_name =~ /\Adata-[\w-]+\z/
               next
             end
 
@@ -79,7 +79,7 @@
             elsif 
WhiteList::SHORTHAND_CSS_PROPERTIES.include?(prop.split('-')[0])
               clean << "#{prop}: #{val};" unless val.split().any? do |keyword|
                 !WhiteList::ALLOWED_CSS_KEYWORDS.include?(keyword) &&
-                  keyword !~ 
/\A(#[0-9a-f]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)\z/
+                  keyword !~ 
/\A(#[0-9a-f]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|-?\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)\z/
               end
             elsif WhiteList::ALLOWED_SVG_PROPERTIES.include?(prop)
               clean << "#{prop}: #{val};"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/loofah/instance_methods.rb 
new/lib/loofah/instance_methods.rb
--- old/lib/loofah/instance_methods.rb  2014-08-21 23:27:46.000000000 +0200
+++ new/lib/loofah/instance_methods.rb  2015-05-05 21:59:35.000000000 +0200
@@ -113,7 +113,7 @@
     #    # => "\nTitle\n\nContent\n"
     #
     def to_text(options={})
-      Loofah::Helpers.remove_extraneous_whitespace 
self.dup.scrub!(:newline_block_elements).text(options)
+      Loofah.remove_extraneous_whitespace 
self.dup.scrub!(:newline_block_elements).text(options)
     end
   end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/loofah.rb new/lib/loofah.rb
--- old/lib/loofah.rb   2014-08-21 23:27:46.000000000 +0200
+++ new/lib/loofah.rb   2015-05-05 21:59:35.000000000 +0200
@@ -27,7 +27,7 @@
 #
 module Loofah
   # The version of Loofah you are using
-  VERSION = '2.0.1'
+  VERSION = '2.0.2'
 
   class << self
     # Shortcut for Loofah::HTML::Document.parse
@@ -74,5 +74,9 @@
       Loofah.xml_document(string_or_io).scrub!(method)
     end
 
+    # A helper to remove extraneous whitespace from text-ified HTML
+    def remove_extraneous_whitespace(string)
+      string.gsub(/\n\s*\n\s*\n/,"\n\n")
+    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2014-08-21 23:27:46.000000000 +0200
+++ new/metadata        2015-05-05 21:59:35.000000000 +0200
@@ -1,170 +1,170 @@
 --- !ruby/object:Gem::Specification
 name: loofah
 version: !ruby/object:Gem::Version
-  version: 2.0.1
+  version: 2.0.2
 platform: ruby
 authors:
 - Mike Dalessio
 - Bryan Helmkamp
-autorequire: 
+autorequire:
 bindir: bin
 cert_chain: []
-date: 2014-08-21 00:00:00.000000000 Z
+date: 2015-05-05 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: nokogiri
-  requirement: !ruby/object:Gem::Requirement
+  version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: 1.5.9
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
+  requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: 1.5.9
+  prerelease: false
+  type: :runtime
 - !ruby/object:Gem::Dependency
   name: rdoc
-  requirement: !ruby/object:Gem::Requirement
+  version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - "~>"
+    - - ~>
       - !ruby/object:Gem::Version
         version: '4.0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
+  requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - "~>"
+    - - ~>
       - !ruby/object:Gem::Version
         version: '4.0'
+  prerelease: false
+  type: :development
 - !ruby/object:Gem::Dependency
   name: rake
-  requirement: !ruby/object:Gem::Requirement
+  version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0.8'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
+  requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0.8'
+  prerelease: false
+  type: :development
 - !ruby/object:Gem::Dependency
   name: minitest
-  requirement: !ruby/object:Gem::Requirement
+  version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - "~>"
+    - - ~>
       - !ruby/object:Gem::Version
         version: '2.2'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
+  requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - "~>"
+    - - ~>
       - !ruby/object:Gem::Version
         version: '2.2'
+  prerelease: false
+  type: :development
 - !ruby/object:Gem::Dependency
   name: rr
-  requirement: !ruby/object:Gem::Requirement
+  version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - "~>"
+    - - ~>
       - !ruby/object:Gem::Version
         version: 1.1.0
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
+  requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - "~>"
+    - - ~>
       - !ruby/object:Gem::Version
         version: 1.1.0
+  prerelease: false
+  type: :development
 - !ruby/object:Gem::Dependency
   name: json
+  version_requirements: !ruby/object:Gem::Requirement
+    requirements:
+    - - '>='
+      - !ruby/object:Gem::Version
+        version: '0'
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-  type: :development
   prerelease: false
+  type: :development
+- !ruby/object:Gem::Dependency
+  name: hoe-gemspec
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-- !ruby/object:Gem::Dependency
-  name: hoe-gemspec
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-  type: :development
   prerelease: false
+  type: :development
+- !ruby/object:Gem::Dependency
+  name: hoe-debugging
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-- !ruby/object:Gem::Dependency
-  name: hoe-debugging
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-  type: :development
   prerelease: false
+  type: :development
+- !ruby/object:Gem::Dependency
+  name: hoe-bundler
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-- !ruby/object:Gem::Dependency
-  name: hoe-bundler
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-  type: :development
   prerelease: false
+  type: :development
+- !ruby/object:Gem::Dependency
+  name: hoe-git
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-- !ruby/object:Gem::Dependency
-  name: hoe-git
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - '>='
       - !ruby/object:Gem::Version
         version: '0'
-  type: :development
   prerelease: false
+  type: :development
+- !ruby/object:Gem::Dependency
+  name: hoe
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
-    - - ">="
+    - - ~>
       - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: hoe
+        version: '3.13'
   requirement: !ruby/object:Gem::Requirement
     requirements:
-    - - "~>"
+    - - ~>
       - !ruby/object:Gem::Version
-        version: '3.11'
-  type: :development
+        version: '3.13'
   prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '3.11'
+  type: :development
 description: |-
   Loofah is a general library for manipulating and transforming HTML/XML
   documents and fragments. It's built on top of Nokogiri and libxml2, so
@@ -189,7 +189,7 @@
 - Manifest.txt
 - README.rdoc
 files:
-- ".gemtest"
+- .gemtest
 - CHANGELOG.rdoc
 - Gemfile
 - MIT-LICENSE.txt
@@ -230,38 +230,26 @@
 licenses:
 - MIT
 metadata: {}
-post_install_message: 
+post_install_message:
 rdoc_options:
-- "--main"
+- --main
 - README.rdoc
 require_paths:
 - lib
 required_ruby_version: !ruby/object:Gem::Requirement
   requirements:
-  - - ">="
+  - - '>='
     - !ruby/object:Gem::Version
       version: '0'
 required_rubygems_version: !ruby/object:Gem::Requirement
   requirements:
-  - - ">="
+  - - '>='
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubyforge_project: 
-rubygems_version: 2.2.2
-signing_key: 
+rubyforge_project:
+rubygems_version: 2.4.5
+signing_key:
 specification_version: 4
-summary: Loofah is a general library for manipulating and transforming 
HTML/XML documents
-  and fragments
-test_files:
-- test/html5/test_sanitizer.rb
-- test/unit/test_helpers.rb
-- test/unit/test_scrubbers.rb
-- test/unit/test_scrubber.rb
-- test/unit/test_encoding.rb
-- test/unit/test_api.rb
-- test/integration/test_helpers.rb
-- test/integration/test_xml.rb
-- test/integration/test_ad_hoc.rb
-- test/integration/test_scrubbers.rb
-- test/integration/test_html.rb
+summary: Loofah is a general library for manipulating and transforming 
HTML/XML documents and fragments
+test_files: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/html5/test_sanitizer.rb 
new/test/html5/test_sanitizer.rb
--- old/test/html5/test_sanitizer.rb    2014-08-21 23:27:46.000000000 +0200
+++ new/test/html5/test_sanitizer.rb    2015-05-05 21:59:35.000000000 +0200
@@ -97,6 +97,13 @@
     check_sanitization(input, htmloutput, output, output)
   end
 
+  def test_should_allow_multi_word_data_attributes
+    input = "<p data-foo-bar-id='11'>foo <bad>bar</bad> baz</p>"
+    output = htmloutput = "<p data-foo-bar-id='11'>foo 
&lt;bad&gt;bar&lt;/bad&gt; baz</p>"
+
+    check_sanitization(input, htmloutput, output, output)
+  end
+
   ##
   ##  libxml2 downcases attributes, so this is moot.
   ##
@@ -220,6 +227,12 @@
     sane = Nokogiri::HTML(Loofah.scrub_fragment(html, :escape).to_xml)
     assert_match %r/-0.03em/, sane.inner_html
   end
+
+  def test_css_negative_value_sanitization_shorthand_css_properties
+    html = "<span style=\"margin-left:-0.05em;\">"
+    sane = Nokogiri::HTML(Loofah.scrub_fragment(html, :escape).to_xml)
+    assert_match %r/-0.05em/, sane.inner_html
+  end
 end
 
 # <html5_license>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/integration/test_ad_hoc.rb 
new/test/integration/test_ad_hoc.rb
--- old/test/integration/test_ad_hoc.rb 2014-08-21 23:27:46.000000000 +0200
+++ new/test/integration/test_ad_hoc.rb 2015-05-05 21:59:35.000000000 +0200
@@ -143,7 +143,7 @@
 
   def test_fragment_whitewash_on_microsofty_markup
     whitewashed = Loofah.fragment(MSWORD_HTML).scrub!(:whitewash)
-    assert_equal "<p>Foo <b>BOLD</b></p>", whitewashed.to_s
+    assert_equal "<p>Foo <b>BOLD</b></p>", whitewashed.to_s.strip
   end
 
   def test_document_whitewash_on_microsofty_markup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/integration/test_html.rb 
new/test/integration/test_html.rb
--- old/test/integration/test_html.rb   2014-08-21 23:27:46.000000000 +0200
+++ new/test/integration/test_html.rb   2015-05-05 21:59:35.000000000 +0200
@@ -39,9 +39,11 @@
   end
 
   context "html document" do
-    it "not include head tags (like style)" do
-      html = Loofah.document "<style>foo</style><div>bar</div>"
-      assert_equal "bar", html.text
+    context "#text" do
+      it "not include head tags (like style)" do
+        html = Loofah.document "<style>foo</style><div>bar</div>"
+        assert_equal "bar", html.text
+      end
     end
 
     context "#to_text" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/unit/test_api.rb new/test/unit/test_api.rb
--- old/test/unit/test_api.rb   2014-08-21 23:27:46.000000000 +0200
+++ new/test/unit/test_api.rb   2015-05-05 21:59:35.000000000 +0200
@@ -6,107 +6,111 @@
   XML_FRAGMENT  = "<div>a</div>\n<div>b</div>"
   XML           = "<root>#{XML_FRAGMENT}</root>"
 
-  def test_loofah_document
-    doc = Loofah.document(HTML)
-    assert_html_documentish doc
-  end
-
-  def test_loofah_fragment
-    doc = Loofah.fragment(HTML)
-    assert_html_fragmentish doc
-  end
-
-  def test_loofah_xml_document
-    doc = Loofah.xml_document(XML)
-    assert_xml_documentish doc
-  end
-
-  def test_loofah_xml_fragment
-    doc = Loofah.xml_fragment(XML_FRAGMENT)
-    assert_xml_fragmentish doc
-  end
-
-  def test_loofah_html_document_parse_method
-    doc = Loofah::HTML::Document.parse(HTML)
-    assert_html_documentish doc
-  end
-
-  def test_loofah_xml_document_parse_method
-    doc = Loofah::XML::Document.parse(XML)
-    assert_xml_documentish doc
-  end
-
-  def test_loofah_html_document_fragment_parse_method
-    doc = Loofah::HTML::DocumentFragment.parse(HTML)
-    assert_html_fragmentish doc
-  end
-
-  def test_loofah_xml_document_fragment_parse_method
-    doc = Loofah::XML::DocumentFragment.parse(XML_FRAGMENT)
-    assert_xml_fragmentish doc
-  end
-
-  def test_loofah_document_scrub!
-    doc = Loofah.document(HTML).scrub!(:strip)
-    assert_html_documentish doc
-  end
-
-  def test_loofah_fragment_scrub!
-    doc = Loofah.fragment(HTML).scrub!(:strip)
-    assert_html_fragmentish doc
-  end
-
-  def test_loofah_xml_document_scrub!
-    scrubber = Loofah::Scrubber.new { |node| }
-    doc = Loofah.xml_document(XML).scrub!(scrubber)
-    assert_xml_documentish doc
-  end
-
-  def test_loofah_xml_fragment_scrub!
-    scrubber = Loofah::Scrubber.new { |node| }
-    doc = Loofah.xml_fragment(XML_FRAGMENT).scrub!(scrubber)
-    assert_xml_fragmentish doc
-  end
-
-  def test_loofah_html_document_node_scrub!
-    doc = Loofah.document(HTML)
-    assert(node = doc.at_css("div"))
-    node.scrub!(:strip)
-  end
-
-  def test_loofah_html_fragment_node_scrub!
-    doc = Loofah.fragment(HTML)
-    assert(node = doc.at_css("div"))
-    node.scrub!(:strip)
-  end
-
-  def test_loofah_xml_document_node_scrub!
-    doc = Loofah.xml_document(XML)
-    assert(node = doc.at_css("div"))
-    node.scrub!(:strip)
-  end
-
-  def test_loofah_xml_fragment_node_scrub!
-    doc = Loofah.xml_fragment(XML)
-    assert(node = doc.at_css("div"))
-    node.scrub!(:strip)
-  end
-
-  def test_loofah_nodeset_scrub!
-    doc = Loofah.document(HTML)
-    assert(node_set = doc.css("div"))
-    assert_instance_of Nokogiri::XML::NodeSet, node_set
-    node_set.scrub!(:strip)
-  end
-
-  it "HTML::DocumentFragment exposes serialize_root" do
-    doc = Loofah.fragment(HTML)
-    assert_equal HTML, doc.serialize_root.to_html
-  end
-
-  it "HTML::Document exposes serialize_root" do
-    doc = Loofah.document(HTML)
-    assert_equal HTML, doc.serialize_root.children.to_html
+  describe "HTML" do
+    it "creates documents" do
+      doc = Loofah.document(HTML)
+      assert_html_documentish doc
+    end
+
+    it "creates fragments" do
+      doc = Loofah.fragment(HTML)
+      assert_html_fragmentish doc
+    end
+
+    it "parses documents" do
+      doc = Loofah::HTML::Document.parse(HTML)
+      assert_html_documentish doc
+    end
+
+    it "parses document fragment" do
+      doc = Loofah::HTML::DocumentFragment.parse(HTML)
+      assert_html_fragmentish doc
+    end
+
+    it "scrubs documents" do
+      doc = Loofah.document(HTML).scrub!(:strip)
+      assert_html_documentish doc
+    end
+
+    it "scrubs fragments" do
+      doc = Loofah.fragment(HTML).scrub!(:strip)
+      assert_html_fragmentish doc
+    end
+
+    it "scrubs document nodes" do
+      doc = Loofah.document(HTML)
+      assert(node = doc.at_css("div"))
+      node.scrub!(:strip)
+    end
+
+    it "scrubs fragment nodes" do
+      doc = Loofah.fragment(HTML)
+      assert(node = doc.at_css("div"))
+      node.scrub!(:strip)
+    end
+
+    it "scrubs document nodesets" do
+      doc = Loofah.document(HTML)
+      assert(node_set = doc.css("div"))
+      assert_instance_of Nokogiri::XML::NodeSet, node_set
+      node_set.scrub!(:strip)
+    end
+
+    it "exposes serialize_root on HTML::DocumentFragment" do
+      doc = Loofah.fragment(HTML)
+      assert_equal HTML, doc.serialize_root.to_html
+    end
+
+    it "exposes serialize_root on HTML::Document" do
+      doc = Loofah.document(HTML)
+      assert_equal HTML, doc.serialize_root.children.to_html
+    end
+  end
+
+  describe "XML" do
+    it "creates documents" do
+      doc = Loofah.xml_document(XML)
+      assert_xml_documentish doc
+    end
+
+    it "creates fragments" do
+      doc = Loofah.xml_fragment(XML_FRAGMENT)
+      assert_xml_fragmentish doc
+    end
+
+    it "parses documents" do
+      doc = Loofah::XML::Document.parse(XML)
+      assert_xml_documentish doc
+    end
+
+    it "parses document fragments" do
+      doc = Loofah::XML::DocumentFragment.parse(XML_FRAGMENT)
+      assert_xml_fragmentish doc
+    end
+
+    it "scrubs documents" do
+      scrubber = Loofah::Scrubber.new { |node| }
+      doc = Loofah.xml_document(XML).scrub!(scrubber)
+      assert_xml_documentish doc
+    end
+
+    it "scrubs fragments" do
+      scrubber = Loofah::Scrubber.new { |node| }
+      doc = Loofah.xml_fragment(XML_FRAGMENT).scrub!(scrubber)
+      assert_xml_fragmentish doc
+    end
+
+    it "scrubs document nodes" do
+      doc = Loofah.xml_document(XML)
+      assert(node = doc.at_css("div"))
+      node.scrub!(:strip)
+    end
+
+    it "scrubs fragment nodes" do
+      doc = Loofah.xml_fragment(XML)
+      assert(node = doc.at_css("div"))
+      node.scrub!(:strip)
+    end
   end
 
   private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/unit/test_encoding.rb 
new/test/unit/test_encoding.rb
--- old/test/unit/test_encoding.rb      2014-08-21 23:27:46.000000000 +0200
+++ new/test/unit/test_encoding.rb      2015-05-05 21:59:35.000000000 +0200
@@ -2,19 +2,19 @@
 require "helper"
 
 class UnitTestEncoding < Loofah::TestCase
-  def setup
-    @utf8_string = "日本語"
-  end
+  UTF8_STRING = "日本語"
 
   if String.new.respond_to?(:encoding)
-    def test_html_fragment_string_sets_encoding
-      escaped = Loofah.scrub_fragment(@utf8_string, :escape).to_s
-      assert_equal @utf8_string.encoding, escaped.encoding
-    end
+    describe "scrub_fragment" do
+      it "sets the encoding for html" do
+        escaped = Loofah.scrub_fragment(UTF8_STRING, :escape).to_s
+        assert_equal UTF8_STRING.encoding, escaped.encoding
+      end
 
-    def test_xml_fragment_string_sets_encoding
-      escaped = Loofah.scrub_xml_fragment(@utf8_string, :escape).to_s
-      assert_equal @utf8_string.encoding, escaped.encoding
+      it "sets the encoding for xml" do
+        escaped = Loofah.scrub_xml_fragment(UTF8_STRING, :escape).to_s
+        assert_equal UTF8_STRING.encoding, escaped.encoding
+      end
     end
   end
 end


Reply via email to