[Groonga-commit] ranguba/chupa-text-decomposer-html at 4781bc6 [master] Ignore aside element

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Jul 10 11:45:42 JST 2017


Kouhei Sutou	2017-07-10 11:45:42 +0900 (Mon, 10 Jul 2017)

  New Revision: 4781bc6e644c51fe8d688241b91a960e7f22fdc6
  https://github.com/ranguba/chupa-text-decomposer-html/commit/4781bc6e644c51fe8d688241b91a960e7f22fdc6

  Message:
    Ignore aside element

  Modified files:
    lib/chupa-text/decomposers/html.rb
    test/test-html.rb

  Modified: lib/chupa-text/decomposers/html.rb (+22 -0)
===================================================================
--- lib/chupa-text/decomposers/html.rb    2017-07-10 11:40:36 +0900 (f92d6f5)
+++ lib/chupa-text/decomposers/html.rb    2017-07-10 11:45:42 +0900 (215c1c6)
@@ -112,6 +112,7 @@ module ChupaText
         return text if header_element?(element, name, classes)
         return text if footer_element?(element, name, classes)
         return text if navigation_element?(element, name, classes)
+        return text if aside_element?(element, name, classes)
 
         element.children.each do |child|
           case child
@@ -203,6 +204,27 @@ module ChupaText
 
         false
       end
+
+      def aside_element?(element, name, classes)
+        case name
+        when "aside"
+          return true
+        end
+
+        classes.each do |klass|
+          case klass
+          when "aside"
+            return true
+          end
+        end
+
+        case element["id"]
+        when "aside"
+          return true
+        end
+
+        false
+      end
     end
   end
 end

  Modified: test/test-html.rb (+32 -0)
===================================================================
--- test/test-html.rb    2017-07-10 11:40:36 +0900 (217587a)
+++ test/test-html.rb    2017-07-10 11:45:42 +0900 (248116d)
@@ -490,6 +490,38 @@ class TestHTML < Test::Unit::TestCase
                        decompose(@data))
         end
       end
+
+      sub_test_case("aside") do
+        def test_aside_tag
+          @data.body = <<-HTML
+<html>
+  <body>Before<aside>aside</aside>After</body>
+</html>
+          HTML
+          assert_equal(["BeforeAfter"],
+                       decompose(@data))
+        end
+
+        def test_aside_class
+          @data.body = <<-HTML
+<html>
+  <body>Before<div class="aside">aside</div>After</body>
+</html>
+          HTML
+          assert_equal(["BeforeAfter"],
+                       decompose(@data))
+        end
+
+        def test_aside_id
+          @data.body = <<-HTML
+<html>
+  <body>Before<div id="aside">aside</div>After</body>
+</html>
+          HTML
+          assert_equal(["BeforeAfter"],
+                       decompose(@data))
+        end
+      end
     end
   end
 end
-------------- next part --------------
HTML����������������������������...
Télécharger 



More information about the Groonga-commit mailing list
Back to archive index