Permalink
Browse files

Ruby 1.9.2: URI.escape is obsolete

  • Loading branch information...
jeremy committed Nov 1, 2009
1 parent 36121d2 commit a2de13e1e0de5bba3cbd6050fe4884595704e1e2
Showing with 8 additions and 3 deletions.
  1. +2 −1 activesupport/lib/active_support/core_ext/uri.rb
  2. +6 −2 activesupport/test/core_ext/uri_ext_test.rb
@@ -4,7 +4,8 @@
str = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E" # Ni-ho-nn-go in UTF-8, means Japanese.
str.force_encoding(Encoding::UTF_8) if str.respond_to?(:force_encoding)
- unless str == URI.unescape(URI.escape(str))
+ parser = URI::Parser.new
+ unless str == parser.unescape(parser.escape(str))
URI::Parser.class_eval do
remove_method :unescape
def unescape(str, escaped = @regexp[:ESCAPED])
@@ -7,7 +7,11 @@ def test_uri_decode_handle_multibyte
str = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E" # Ni-ho-nn-go in UTF-8, means Japanese.
str.force_encoding(Encoding::UTF_8) if str.respond_to?(:force_encoding)
- assert_equal str, URI.unescape(URI.escape(str))
- assert_equal str, URI.decode(URI.escape(str))
+ if URI.const_defined?(:Parser)
+ parser = URI::Parser.new
+ assert_equal str, parser.unescape(parser.escape(str))
+ else
+ assert_equal str, URI.unescape(URI.escape(str))
+ end
end
end

0 comments on commit a2de13e

Please sign in to comment.