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