[前][次][番号順一覧][スレッド一覧]

ruby-changes:2601

From: ko1@a...
Date: 3 Dec 2007 08:17:38 +0900
Subject: [ruby-changes:2601] shyouhei - Ruby:r14091 (ruby_1_8_6): * test/rss/test_taxonomy.rb, test/rss/test_parser_1.0.rb,

shyouhei	2007-12-03 08:16:36 +0900 (Mon, 03 Dec 2007)

  New Revision: 14091

  Modified files:
    branches/ruby_1_8_6/ChangeLog
    branches/ruby_1_8_6/test/rss/rss-testcase.rb
    branches/ruby_1_8_6/test/rss/test_image.rb
    branches/ruby_1_8_6/test/rss/test_parser_1.0.rb
    branches/ruby_1_8_6/test/rss/test_taxonomy.rb
    branches/ruby_1_8_6/version.h

  Log:
    * test/rss/test_taxonomy.rb, test/rss/test_parser_1.0.rb,
      test/rss/test_image.rb, test/rss/rss-testcase.rb: ensured
      declaring XML namespaces.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ChangeLog?r1=14091&r2=14090
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/version.h?r1=14091&r2=14090
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/test/rss/rss-testcase.rb?r1=14091&r2=14090
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/test/rss/test_parser_1.0.rb?r1=14091&r2=14090
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/test/rss/test_taxonomy.rb?r1=14091&r2=14090
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/test/rss/test_image.rb?r1=14091&r2=14090

Index: ruby_1_8_6/ChangeLog
===================================================================
--- ruby_1_8_6/ChangeLog	(revision 14090)
+++ ruby_1_8_6/ChangeLog	(revision 14091)
@@ -1,3 +1,9 @@
+Mon Dec  3 08:13:52 2007  Kouhei Sutou  <kou@c...>
+
+	* test/rss/test_taxonomy.rb, test/rss/test_parser_1.0.rb,
+	  test/rss/test_image.rb, test/rss/rss-testcase.rb: ensured
+	  declaring XML namespaces.
+
 Sun Sep 23 21:57:25 2007  GOTOU Yuuzou  <gotoyuzo@n...>  
 
 	* lib/net/http.rb: an SSL verification (the server hostname should
Index: ruby_1_8_6/version.h
===================================================================
--- ruby_1_8_6/version.h	(revision 14090)
+++ ruby_1_8_6/version.h	(revision 14091)
@@ -2,7 +2,7 @@
 #define RUBY_RELEASE_DATE "2007-12-03"
 #define RUBY_VERSION_CODE 186
 #define RUBY_RELEASE_CODE 20071203
-#define RUBY_PATCHLEVEL 112
+#define RUBY_PATCHLEVEL 113
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
Index: ruby_1_8_6/test/rss/test_taxonomy.rb
===================================================================
--- ruby_1_8_6/test/rss/test_taxonomy.rb	(revision 14090)
+++ ruby_1_8_6/test/rss/test_taxonomy.rb	(revision 14091)
@@ -144,8 +144,10 @@
       end
 
       @topic_nodes.each_with_index do |node, i|
-        expected = REXML::Document.new(node).root
-        actual = REXML::Document.new(@rss.taxo_topics[i].to_s(true, "")).root
+        expected_xml = taxo_xmlns_container(node)
+        expected = REXML::Document.new(expected_xml).root.elements[1]
+        actual_xml = taxo_xmlns_container(@rss.taxo_topics[i].to_s(true, ""))
+        actual = REXML::Document.new(actual_xml).root.elements[1]
         expected_elems = expected.reject {|x| x.is_a?(REXML::Text)}
         actual_elems = actual.reject {|x| x.is_a?(REXML::Text)}
         expected_elems.sort! {|x, y| x.name <=> y.name}
@@ -155,6 +157,16 @@
         assert_equal(expected.attributes.sort, actual.attributes.sort)
       end
     end
+
+    private
+    def taxo_xmlns_container(content)
+      xmlns_container({
+                        @prefix => @uri,
+                        "dc" => "http://purl.org/dc/elements/1.1/",
+                        "rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
+                      },
+                      content)
+    end
   end
 end
 
Index: ruby_1_8_6/test/rss/rss-testcase.rb
===================================================================
--- ruby_1_8_6/test/rss/rss-testcase.rb	(revision 14090)
+++ ruby_1_8_6/test/rss/rss-testcase.rb	(revision 14091)
@@ -215,7 +215,14 @@
 
       "<#{h elem_name} #{attrs_str}>\n#{contents_str}\n</#{h elem_name}>"
     end
-    
+
+    def xmlns_container(xmlns_decls, content)
+      attributes = xmlns_decls.collect do |prefix, uri|
+        "xmlns:#{h prefix}=\"#{h uri}\""
+      end.join(" ")
+      "<dummy #{attributes}>#{content}</dummy>"
+    end
+
     private
     def setup_dummy_channel(maker)
       about = "http://hoge.com"
Index: ruby_1_8_6/test/rss/test_image.rb
===================================================================
--- ruby_1_8_6/test/rss/test_image.rb	(revision 14090)
+++ ruby_1_8_6/test/rss/test_image.rb	(revision 14091)
@@ -163,19 +163,23 @@
 
     def test_favicon_to_s
       favicon = @rss.channel.image_favicon
-      expected = REXML::Document.new(make_element("#{@prefix}:favicon",
-                                                  @favicon_attrs,
-                                                  @favicon_contents))
-      actual = REXML::Document.new(favicon.to_s(false, ""))
+      expected_xml = image_xmlns_container(make_element("#{@prefix}:favicon",
+                                                        @favicon_attrs,
+                                                        @favicon_contents))
+      expected = REXML::Document.new(expected_xml)
+      actual_xml = image_xmlns_container(favicon.to_s(false, ""))
+      actual = REXML::Document.new(actual_xml)
       assert_equal(expected.to_s, actual.to_s)
     end
 
     def test_item_to_s
       @rss.items.each_with_index do |item, i|
         attrs, contents = @items[i]
-        expected_s = make_element("#{@prefix}:item", attrs, contents)
-        expected = REXML::Document.new(expected_s)
-        actual = REXML::Document.new(item.image_item.to_s(false, ""))
+        expected_xml = make_element("#{@prefix}:item", attrs, contents)
+        expected_xml = image_xmlns_container(expected_xml)
+        expected = REXML::Document.new(expected_xml)
+        actual_xml = image_xmlns_container(item.image_item.to_s(false, ""))
+        actual = REXML::Document.new(actual_xml)
 
         assert_equal(expected[0].attributes, actual[0].attributes)
         
@@ -187,5 +191,14 @@
       end
     end
 
+    private
+    def image_xmlns_container(content)
+      xmlns_container({
+                        @prefix => @uri,
+                        "dc" => "http://purl.org/dc/elements/1.1/",
+                        "rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
+                      },
+                      content)
+    end
   end
 end
Index: ruby_1_8_6/test/rss/test_parser_1.0.rb
===================================================================
--- ruby_1_8_6/test/rss/test_parser_1.0.rb	(revision 14090)
+++ ruby_1_8_6/test/rss/test_parser_1.0.rb	(revision 14091)
@@ -498,6 +498,15 @@
         Parser.parse(rss, true, false)
       end
     end
+
+    def test_unknown_duplicated_element
+      xmlns = {"test" => "http://localhost/test"}
+      assert_parse(make_RDF(<<-EOR, xmlns), :nothing_raised)
+        #{make_channel("<test:string/>")}
+        #{make_item}
+        #{make_image}
+      EOR
+    end
   end
 end
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]