summaryrefslogtreecommitdiff
path: root/test/uri/test_common.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/uri/test_common.rb')
-rw-r--r--test/uri/test_common.rb26
1 files changed, 15 insertions, 11 deletions
diff --git a/test/uri/test_common.rb b/test/uri/test_common.rb
index 6326aec561..569264005a 100644
--- a/test/uri/test_common.rb
+++ b/test/uri/test_common.rb
@@ -31,12 +31,14 @@ class URI::TestCommon < Test::Unit::TestCase
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 @@ class URI::TestCommon < Test::Unit::TestCase
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
@@ -75,7 +78,7 @@ class URI::TestCommon < Test::Unit::TestCase
return unless defined?(Ractor)
assert_ractor(<<~RUBY, require: 'uri')
r = Ractor.new { URI.parse("https://ruby-lang.org/").inspect }
- assert_equal(URI.parse("https://ruby-lang.org/").inspect, r.take)
+ assert_equal(URI.parse("https://ruby-lang.org/").inspect, r.value)
RUBY
end
@@ -113,17 +116,18 @@ class URI::TestCommon < Test::Unit::TestCase
def test_register_scheme_with_symbols
# Valid schemes from https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
- some_uri_class = Class.new(URI::Generic)
- assert_raise(NameError) { URI.register_scheme 'ms-search', some_uri_class }
- assert_raise(NameError) { URI.register_scheme 'microsoft.windows.camera', some_uri_class }
- assert_raise(NameError) { URI.register_scheme 'coaps+ws', some_uri_class }
+ list = []
+ %w[ms-search microsoft.windows.camera coaps+ws].each {|name|
+ list << [name, URI.register_scheme(name, Class.new(URI::Generic))]
+ }
- ms_search_class = Class.new(URI::Generic)
- URI.register_scheme 'MS_SEARCH', ms_search_class
- begin
- assert_equal URI::Generic, URI.parse('ms-search://localhost').class
- ensure
- URI.const_get(:Schemes).send(:remove_const, :MS_SEARCH)
+ list.each do |scheme, uri_class|
+ assert_equal uri_class, URI.parse("#{scheme}://localhost").class
+ end
+ ensure
+ schemes = URI.const_get(:Schemes)
+ list.each do |scheme, |
+ schemes.send(:remove_const, schemes.escape(scheme))
end
end