diff --git a/lib/uri/common.rb b/lib/uri/common.rb index db19e8e..0d71a7f 100644 --- a/lib/uri/common.rb +++ b/lib/uri/common.rb @@ -30,6 +30,9 @@ def self.parser=(parser = RFC3986_PARSER) remove_const(:Parser) if defined?(::URI::Parser) const_set("Parser", parser.class) + remove_const(:PARSER) if defined?(::URI::PARSER) + const_set("PARSER", parser) + remove_const(:REGEXP) if defined?(::URI::REGEXP) remove_const(:PATTERN) if defined?(::URI::PATTERN) if Parser == RFC2396_Parser @@ -195,7 +198,7 @@ class BadURIError < Error; end # ["fragment", "top"]] # def self.split(uri) - DEFAULT_PARSER.split(uri) + PARSER.split(uri) end # Returns a new \URI object constructed from the given string +uri+: @@ -209,7 +212,7 @@ def self.split(uri) # if it may contain invalid URI characters. # def self.parse(uri) - DEFAULT_PARSER.parse(uri) + PARSER.parse(uri) end # Merges the given URI strings +str+ @@ -265,7 +268,7 @@ def self.join(*str) # def self.extract(str, schemes = nil, &block) # :nodoc: warn "URI.extract is obsolete", uplevel: 1 if $VERBOSE - DEFAULT_PARSER.extract(str, schemes, &block) + PARSER.extract(str, schemes, &block) end # @@ -302,7 +305,7 @@ def self.extract(str, schemes = nil, &block) # :nodoc: # def self.regexp(schemes = nil)# :nodoc: warn "URI.regexp is obsolete", uplevel: 1 if $VERBOSE - DEFAULT_PARSER.make_regexp(schemes) + PARSER.make_regexp(schemes) end TBLENCWWWCOMP_ = {} # :nodoc: diff --git a/test/uri/test_common.rb b/test/uri/test_common.rb index 6326aec..ea1c852 100644 --- a/test/uri/test_common.rb +++ b/test/uri/test_common.rb @@ -31,12 +31,14 @@ def test_fallback_constants def test_parser_switch assert_equal(URI::Parser, URI::RFC3986_Parser) + assert_equal(URI::PARSER, URI::RFC3986_PARSER) refute defined?(URI::REGEXP) refute defined?(URI::PATTERN) URI.parser = URI::RFC2396_PARSER assert_equal(URI::Parser, URI::RFC2396_Parser) + assert_equal(URI::PARSER, URI::RFC2396_PARSER) assert defined?(URI::REGEXP) assert defined?(URI::PATTERN) assert defined?(URI::PATTERN::ESCAPED) @@ -45,6 +47,7 @@ def test_parser_switch URI.parser = URI::RFC3986_PARSER assert_equal(URI::Parser, URI::RFC3986_Parser) + assert_equal(URI::PARSER, URI::RFC3986_PARSER) refute defined?(URI::REGEXP) refute defined?(URI::PATTERN) ensure