summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-17 01:04:31 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-17 01:04:31 +0000
commit463c6a218fed7248531a002806e9b07be7f5a6ea (patch)
tree69741dee756af0a86c03e3bae8d2574a839fc426
parent448dce34a627cf46d844c2e7c628a7af8174fcb4 (diff)
* 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
-rw-r--r--ChangeLog5
-rw-r--r--lib/rss/parser.rb16
-rw-r--r--lib/rss/rss.rb8
-rw-r--r--test/rss/test_2.0.rb8
-rw-r--r--test/rss/test_parser.rb12
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 <kou@cozmixng.org>
* 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 <akr@m17n.org>
* 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"