From f988ceb53b731f7465f8ace09c76cd69e9abef22 Mon Sep 17 00:00:00 2001 From: kou Date: Wed, 23 Nov 2005 08:44:05 +0000 Subject: * lib/rss/rss.rb: fixed a indentation bug. * lib/rss/taxonomy.rb: fixed #to_s bug. * test/rss/test_taxonomy.rb: added a #to_s test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rss/test_taxonomy.rb | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'test') diff --git a/test/rss/test_taxonomy.rb b/test/rss/test_taxonomy.rb index fda4c9407b..4c760a43d4 100644 --- a/test/rss/test_taxonomy.rb +++ b/test/rss/test_taxonomy.rb @@ -20,7 +20,7 @@ module RSS @dc_prefix => @dc_uri, } - @parents = %w(channel item) + @topics_parents = %w(channel item) @topics_lis = [ "http://meerkat.oreillynet.com/?c=cat23", @@ -66,28 +66,28 @@ module RSS info.each do |name, value| case name when :topics - rv << "<#{@prefix}:topics>\n" - rv << " \n" + rv << " <#{@prefix}:topics>\n" + rv << " \n" value.each do |li| resource = CGI.escapeHTML(li) - rv << " \n" + rv << " \n" end - rv << " \n" - rv << "" + rv << " \n" + rv << " \n" else prefix = (name == :link ? @prefix : @dc_prefix) rv << " <#{prefix}:#{name}>#{value}\n" end end rv << "" - end.join("\n") + end @rss_source = make_RDF(<<-EOR, @ns) #{make_channel(@topics_node)} #{make_image()} #{make_item(@topics_node)} #{make_textinput()} -#{@topic_nodes} +#{@topic_nodes.join("\n")} EOR @rss = Parser.parse(@rss_source) @@ -138,10 +138,22 @@ EOR end def test_to_s - @parents.each do |parent| + @topics_parents.each do |parent| meth = "taxo_topics_element" assert_equal(@topics_node, @rss.__send__(parent).funcall(meth)) 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_elems = expected.children.reject {|x| x.is_a?(REXML::Text)} + actual_elems = actual.children.reject {|x| x.is_a?(REXML::Text)} + expected_elems.sort! {|x, y| x.name <=> y.name} + actual_elems.sort! {|x, y| x.name <=> y.name} + assert_equal(expected_elems.collect {|x| x.to_s}, + actual_elems.collect {|x| x.to_s}) + assert_equal(expected.attributes.sort, actual.attributes.sort) + end end end end -- cgit v1.2.3