From 463c6a218fed7248531a002806e9b07be7f5a6ea Mon Sep 17 00:00:00 2001 From: kou Date: Sat, 17 Jun 2006 01:04:31 +0000 Subject: * lib/rss, test/rss: backported from trunk. (2005-11-16 - now) * lib/rss/rss.rb: added backward compatibility codes. * lib/rss/parser.rb: ditto. * test/rss/test_parser.rb: ditto. * test/rss/test_2.0.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/rss/parser.rb | 16 ++++++++++++++-- lib/rss/rss.rb | 8 ++++++++ test/rss/test_2.0.rb | 8 ++++---- test/rss/test_parser.rb | 12 +++++++++++- 5 files changed, 42 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index f0647a2fb6..637311ffa7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -100,6 +100,11 @@ Sat Jun 17 09:03:47 2006 Kouhei Sutou * test/rss/rss-assertions.rb: improved type conversion assertions. + * lib/rss/rss.rb: added backward compatibility codes. + * lib/rss/parser.rb: ditto. + * test/rss/test_parser.rb: ditto. + * test/rss/test_2.0.rb: ditto. + Sat Jun 17 02:01:00 2006 Tanaka Akira * lib/pp.rb (Kernel#pretty_inspect): defined for pretty printed diff --git a/lib/rss/parser.rb b/lib/rss/parser.rb index 73cce6b7a0..ace3d262f8 100644 --- a/lib/rss/parser.rb +++ b/lib/rss/parser.rb @@ -1,5 +1,17 @@ require "forwardable" -require "open-uri" +begin + require "open-uri" +rescue LoadError + require "uri" +end +unless Kernel.methods.include?("URI") + module Kernel + def URI(uri_str) # :doc: + URI.parse(uri_str) + end + module_function :URI + end +end require "rss/rss" @@ -414,7 +426,7 @@ module RSS end previous = @last_element - next_element = klass.__send__(:new, *args) + next_element = klass.new(*args) next_element.do_validate = @do_validate previous.instance_eval {set_next_element(tag_name, next_element)} @last_element = next_element diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb index 589478665c..f424f16171 100644 --- a/lib/rss/rss.rb +++ b/lib/rss/rss.rb @@ -52,6 +52,14 @@ class Hash end end +module Kernel + unless methods.include?("funcall") + def funcall(*args, &block) + __send__(*args, &block) + end + end +end + require "English" require "rss/utils" require "rss/converter" diff --git a/test/rss/test_2.0.rb b/test/rss/test_2.0.rb index 5e2e6bd851..2027e5344a 100644 --- a/test/rss/test_2.0.rb +++ b/test/rss/test_2.0.rb @@ -145,7 +145,7 @@ module RSS actual = {} cloud_elem.attributes.each do |name, value| value = value.to_i if name == "port" - actual[name.to_sym] = value + actual[name.intern] = value end assert_equal(cloud_params, actual) end @@ -313,7 +313,7 @@ module RSS actual = {} enclosure_elem.attributes.each do |name, value| value = value.to_i if name == "length" - actual[name.to_sym] = value + actual[name.intern] = value end assert_equal(enclosure_params, actual) end @@ -348,7 +348,7 @@ module RSS actual[:content] = guid_elem.text if guid_elem.text guid_elem.attributes.each do |name, value| value = value == "true" if name == "isPermaLink" - actual[name.to_sym] = value + actual[name.intern] = value end assert_equal(guid_params, actual) end @@ -369,7 +369,7 @@ module RSS actual = {} actual[:content] = source_elem.text source_elem.attributes.each do |name, value| - actual[name.to_sym] = value + actual[name.intern] = value end assert_equal(source_params, actual) end diff --git a/test/rss/test_parser.rb b/test/rss/test_parser.rb index d6de0699a0..f410b1b4f0 100644 --- a/test/rss/test_parser.rb +++ b/test/rss/test_parser.rb @@ -1,4 +1,14 @@ -require "fileutils" +begin + require "fileutils" +rescue LoadError + module FileUtils + module_function + def rm_f(target) + File.unlink(target) + rescue Errno::ENOENT + end + end +end require "rss-testcase" -- cgit v1.2.3