summaryrefslogtreecommitdiff
path: root/test/uri
diff options
context:
space:
mode:
Diffstat (limited to 'test/uri')
-rw-r--r--test/uri/test_common.rb26
-rw-r--r--test/uri/test_ftp.rb10
-rw-r--r--test/uri/test_generic.rb74
-rw-r--r--test/uri/test_http.rb20
-rw-r--r--test/uri/test_mailto.rb72
-rw-r--r--test/uri/test_parser.rb26
-rw-r--r--test/uri/test_ws.rb16
-rw-r--r--test/uri/test_wss.rb16
8 files changed, 184 insertions, 76 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
diff --git a/test/uri/test_ftp.rb b/test/uri/test_ftp.rb
index f45bb0667c..3ad7864490 100644
--- a/test/uri/test_ftp.rb
+++ b/test/uri/test_ftp.rb
@@ -33,11 +33,11 @@ class URI::TestFTP < Test::Unit::TestCase
# If you think what's below is wrong, please read RubyForge bug 2055,
# RFC 1738 section 3.2.2, and RFC 2396.
u = URI.parse('ftp://ftp.example.com/foo/bar/file.ext')
- assert(u.path == 'foo/bar/file.ext')
+ assert_equal('foo/bar/file.ext', u.path)
u = URI.parse('ftp://ftp.example.com//foo/bar/file.ext')
- assert(u.path == '/foo/bar/file.ext')
+ assert_equal('/foo/bar/file.ext', u.path)
u = URI.parse('ftp://ftp.example.com/%2Ffoo/bar/file.ext')
- assert(u.path == '/foo/bar/file.ext')
+ assert_equal('/foo/bar/file.ext', u.path)
end
def test_assemble
@@ -45,8 +45,8 @@ class URI::TestFTP < Test::Unit::TestCase
# assuming everyone else has implemented RFC 2396.
uri = URI::FTP.build(['user:password', 'ftp.example.com', nil,
'/path/file.zip', 'i'])
- assert(uri.to_s ==
- 'ftp://user:password@ftp.example.com/%2Fpath/file.zip;type=i')
+ assert_equal('ftp://user:password@ftp.example.com/%2Fpath/file.zip;type=i',
+ uri.to_s)
end
def test_select
diff --git a/test/uri/test_generic.rb b/test/uri/test_generic.rb
index 1d5fbc715e..94eea71b51 100644
--- a/test/uri/test_generic.rb
+++ b/test/uri/test_generic.rb
@@ -240,9 +240,9 @@ class URI::TestGeneric < Test::Unit::TestCase
u = URI.parse('http://foo/bar/baz')
assert_equal(nil, u.merge!(""))
assert_equal(nil, u.merge!(u))
- assert(nil != u.merge!("."))
+ refute_nil(u.merge!("."))
assert_equal('http://foo/bar/', u.to_s)
- assert(nil != u.merge!("../baz"))
+ refute_nil(u.merge!("../baz"))
assert_equal('http://foo/baz', u.to_s)
url = URI.parse('http://a/b//c') + 'd//e'
@@ -283,6 +283,9 @@ class URI::TestGeneric < Test::Unit::TestCase
u0 = URI.parse('http://new.example.org/path')
u1 = u.merge('//new.example.org/path')
assert_equal(u0, u1)
+ u0 = URI.parse('http://other@example.net')
+ u1 = u.merge('//other@example.net')
+ assert_equal(u0, u1)
end
def test_route
@@ -356,7 +359,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/c/g', url.to_s)
url = @base_url.route_to('http://a/b/c/g')
assert_kind_of(URI::Generic, url)
- assert('./g' != url.to_s) # ok
+ refute_equal('./g', url.to_s) # ok
assert_equal('g', url.to_s)
# http://a/b/c/d;p?q
@@ -375,7 +378,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/g', url.to_s)
url = @base_url.route_to('http://a/g')
assert_kind_of(URI::Generic, url)
- assert('/g' != url.to_s) # ok
+ refute_equal('/g', url.to_s) # ok
assert_equal('../../g', url.to_s)
# http://a/b/c/d;p?q
@@ -466,7 +469,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/c/', url.to_s)
url = @base_url.route_to('http://a/b/c/')
assert_kind_of(URI::Generic, url)
- assert('.' != url.to_s) # ok
+ refute_equal('.', url.to_s) # ok
assert_equal('./', url.to_s)
# http://a/b/c/d;p?q
@@ -485,7 +488,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/', url.to_s)
url = @base_url.route_to('http://a/b/')
assert_kind_of(URI::Generic, url)
- assert('..' != url.to_s) # ok
+ refute_equal('..', url.to_s) # ok
assert_equal('../', url.to_s)
# http://a/b/c/d;p?q
@@ -513,7 +516,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/', url.to_s)
url = @base_url.route_to('http://a/')
assert_kind_of(URI::Generic, url)
- assert('../..' != url.to_s) # ok
+ refute_equal('../..', url.to_s) # ok
assert_equal('../../', url.to_s)
# http://a/b/c/d;p?q
@@ -604,7 +607,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/g', url.to_s)
url = @base_url.route_to('http://a/g')
assert_kind_of(URI::Generic, url)
- assert('../../../g' != url.to_s) # ok? yes, it confuses you
+ refute_equal('../../../g', url.to_s) # ok? yes, it confuses you
assert_equal('../../g', url.to_s) # and it is clearly
# http://a/b/c/d;p?q
@@ -614,7 +617,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/g', url.to_s)
url = @base_url.route_to('http://a/g')
assert_kind_of(URI::Generic, url)
- assert('../../../../g' != url.to_s) # ok? yes, it confuses you
+ refute_equal('../../../../g', url.to_s) # ok? yes, it confuses you
assert_equal('../../g', url.to_s) # and it is clearly
# http://a/b/c/d;p?q
@@ -624,7 +627,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/g', url.to_s)
url = @base_url.route_to('http://a/b/g')
assert_kind_of(URI::Generic, url)
- assert('./../g' != url.to_s) # ok
+ refute_equal('./../g', url.to_s) # ok
assert_equal('../g', url.to_s)
# http://a/b/c/d;p?q
@@ -634,7 +637,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/c/g/', url.to_s)
url = @base_url.route_to('http://a/b/c/g/')
assert_kind_of(URI::Generic, url)
- assert('./g/.' != url.to_s) # ok
+ refute_equal('./g/.', url.to_s) # ok
assert_equal('g/', url.to_s)
# http://a/b/c/d;p?q
@@ -644,7 +647,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/c/g/h', url.to_s)
url = @base_url.route_to('http://a/b/c/g/h')
assert_kind_of(URI::Generic, url)
- assert('g/./h' != url.to_s) # ok
+ refute_equal('g/./h', url.to_s) # ok
assert_equal('g/h', url.to_s)
# http://a/b/c/d;p?q
@@ -654,7 +657,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/c/h', url.to_s)
url = @base_url.route_to('http://a/b/c/h')
assert_kind_of(URI::Generic, url)
- assert('g/../h' != url.to_s) # ok
+ refute_equal('g/../h', url.to_s) # ok
assert_equal('h', url.to_s)
# http://a/b/c/d;p?q
@@ -664,7 +667,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/c/g;x=1/y', url.to_s)
url = @base_url.route_to('http://a/b/c/g;x=1/y')
assert_kind_of(URI::Generic, url)
- assert('g;x=1/./y' != url.to_s) # ok
+ refute_equal('g;x=1/./y', url.to_s) # ok
assert_equal('g;x=1/y', url.to_s)
# http://a/b/c/d;p?q
@@ -674,7 +677,7 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal('http://a/b/c/y', url.to_s)
url = @base_url.route_to('http://a/b/c/y')
assert_kind_of(URI::Generic, url)
- assert('g;x=1/../y' != url.to_s) # ok
+ refute_equal('g;x=1/../y', url.to_s) # ok
assert_equal('y', url.to_s)
# http://a/b/c/d;p?q
@@ -748,17 +751,18 @@ class URI::TestGeneric < Test::Unit::TestCase
def test_set_component
uri = URI.parse('http://foo:bar@baz')
assert_equal('oof', uri.user = 'oof')
- assert_equal('http://oof:bar@baz', uri.to_s)
+ assert_equal('http://oof@baz', uri.to_s)
assert_equal('rab', uri.password = 'rab')
assert_equal('http://oof:rab@baz', uri.to_s)
assert_equal('foo', uri.userinfo = 'foo')
- assert_equal('http://foo:rab@baz', uri.to_s)
+ assert_equal('http://foo@baz', uri.to_s)
assert_equal(['foo', 'bar'], uri.userinfo = ['foo', 'bar'])
assert_equal('http://foo:bar@baz', uri.to_s)
assert_equal(['foo'], uri.userinfo = ['foo'])
- assert_equal('http://foo:bar@baz', uri.to_s)
+ assert_equal('http://foo@baz', uri.to_s)
assert_equal('zab', uri.host = 'zab')
- assert_equal('http://foo:bar@zab', uri.to_s)
+ assert_equal('http://zab', uri.to_s)
+ uri.userinfo = ['foo', 'bar']
uri.port = ""
assert_nil(uri.port)
uri.port = "80"
@@ -768,7 +772,8 @@ class URI::TestGeneric < Test::Unit::TestCase
uri.port = " 080 "
assert_equal(80, uri.port)
assert_equal(8080, uri.port = 8080)
- assert_equal('http://foo:bar@zab:8080', uri.to_s)
+ assert_equal('http://zab:8080', uri.to_s)
+ uri = URI.parse('http://foo:bar@zab:8080')
assert_equal('/', uri.path = '/')
assert_equal('http://foo:bar@zab:8080/', uri.to_s)
assert_equal('a=1', uri.query = 'a=1')
@@ -822,18 +827,18 @@ class URI::TestGeneric < Test::Unit::TestCase
hierarchical = URI.parse('http://a.b.c/example')
opaque = URI.parse('mailto:mduerst@ifi.unizh.ch')
- assert hierarchical.hierarchical?
- refute opaque.hierarchical?
+ assert_predicate hierarchical, :hierarchical?
+ refute_predicate opaque, :hierarchical?
end
def test_absolute
abs_uri = URI.parse('http://a.b.c/')
not_abs = URI.parse('a.b.c')
- refute not_abs.absolute?
+ refute_predicate not_abs, :absolute?
- assert abs_uri.absolute
- assert abs_uri.absolute?
+ assert_predicate abs_uri, :absolute
+ assert_predicate abs_uri, :absolute?
end
def test_ipv6
@@ -846,8 +851,10 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal("http://[::1]/bar", u.to_s)
u.hostname = "::1"
assert_equal("http://[::1]/bar", u.to_s)
- u.hostname = ""
- assert_equal("http:///bar", u.to_s)
+
+ u = URI("file://foo/bar")
+ u.hostname = ''
+ assert_equal("file:///bar", u.to_s)
end
def test_build
@@ -868,6 +875,19 @@ class URI::TestGeneric < Test::Unit::TestCase
assert_equal("http://[::1]/bar/baz", u.to_s)
assert_equal("[::1]", u.host)
assert_equal("::1", u.hostname)
+
+ assert_raise_with_message(ArgumentError, /URI::Generic/) {
+ URI::Generic.build(nil)
+ }
+
+ c = Class.new(URI::Generic) do
+ def self.component; raise; end
+ end
+ expected = /\(#{URI::Generic::COMPONENT.join(', ')}\)/
+ message = "fallback to URI::Generic::COMPONENT if component raised"
+ assert_raise_with_message(ArgumentError, expected, message) {
+ c.build(nil)
+ }
end
def test_build2
diff --git a/test/uri/test_http.rb b/test/uri/test_http.rb
index e937b1a26b..8816d20175 100644
--- a/test/uri/test_http.rb
+++ b/test/uri/test_http.rb
@@ -19,6 +19,10 @@ class URI::TestHTTP < Test::Unit::TestCase
assert_kind_of(URI::HTTP, u)
end
+ def test_build_empty_host
+ assert_raise(URI::InvalidComponentError) { URI::HTTP.build(host: '') }
+ end
+
def test_parse
u = URI.parse('http://a')
assert_kind_of(URI::HTTP, u)
@@ -33,19 +37,19 @@ class URI::TestHTTP < Test::Unit::TestCase
host = 'aBcD'
u1 = URI.parse('http://' + host + '/eFg?HiJ')
u2 = URI.parse('http://' + host.downcase + '/eFg?HiJ')
- assert(u1.normalize.host == 'abcd')
- assert(u1.normalize.path == u1.path)
- assert(u1.normalize == u2.normalize)
- assert(!u1.normalize.host.equal?(u1.host))
- assert( u2.normalize.host.equal?(u2.host))
+ assert_equal('abcd', u1.normalize.host)
+ assert_equal(u1.path, u1.normalize.path)
+ assert_equal(u2.normalize, u1.normalize)
+ refute_same(u1.host, u1.normalize.host)
+ assert_same(u2.host, u2.normalize.host)
assert_equal('http://abc/', URI.parse('http://abc').normalize.to_s)
end
def test_equal
- assert(URI.parse('http://abc') == URI.parse('http://ABC'))
- assert(URI.parse('http://abc/def') == URI.parse('http://ABC/def'))
- assert(URI.parse('http://abc/def') != URI.parse('http://ABC/DEF'))
+ assert_equal(URI.parse('http://ABC'), URI.parse('http://abc'))
+ assert_equal(URI.parse('http://ABC/def'), URI.parse('http://abc/def'))
+ refute_equal(URI.parse('http://ABC/DEF'), URI.parse('http://abc/def'))
end
def test_request_uri
diff --git a/test/uri/test_mailto.rb b/test/uri/test_mailto.rb
index e7d3142198..6cd3352978 100644
--- a/test/uri/test_mailto.rb
+++ b/test/uri/test_mailto.rb
@@ -141,6 +141,21 @@ class URI::TestMailTo < Test::Unit::TestCase
def test_check_to
u = URI::MailTo.build(['joe@example.com', 'subject=Ruby'])
+ # Valid emails
+ u.to = 'a@valid.com'
+ assert_equal(u.to, 'a@valid.com')
+
+ # Intentionally allowed violations of RFC 5322
+ u.to = 'a..a@valid.com'
+ assert_equal(u.to, 'a..a@valid.com')
+
+ u.to = 'hello.@valid.com'
+ assert_equal(u.to, 'hello.@valid.com')
+
+ u.to = '.hello@valid.com'
+ assert_equal(u.to, '.hello@valid.com')
+
+ # Invalid emails
assert_raise(URI::InvalidComponentError) do
u.to = '#1@mail.com'
end
@@ -148,6 +163,63 @@ class URI::TestMailTo < Test::Unit::TestCase
assert_raise(URI::InvalidComponentError) do
u.to = '@invalid.email'
end
+
+ # Invalid host emails
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@.invalid.email'
+ end
+
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@invalid.email.'
+ end
+
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@invalid..email'
+ end
+
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@-invalid.email'
+ end
+
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@invalid-.email'
+ end
+
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@invalid.-email'
+ end
+
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@invalid.email-'
+ end
+
+ u.to = 'a@'+'invalid'.ljust(63, 'd')+'.email'
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@'+'invalid'.ljust(64, 'd')+'.email'
+ end
+
+ u.to = 'a@invalid.'+'email'.rjust(63, 'e')
+ assert_raise(URI::InvalidComponentError) do
+ u.to = 'a@invalid.'+'email'.rjust(64, 'e')
+ end
+ end
+
+ def test_email_regexp
+ re = URI::MailTo::EMAIL_REGEXP
+
+ repeat = 10
+ longlabel = '.' + 'invalid'.ljust(63, 'd')
+ endlabel = ''
+ seq = (1..3).map {|i| 10**i}
+ rehearsal = 10
+ pre = ->(n) {'a@invalid' + longlabel*(n) + endlabel}
+ assert_linear_performance(seq, rehearsal: rehearsal, pre: pre) do |to|
+ repeat.times {re =~ to or flunk}
+ end
+ endlabel = '.' + 'email'.rjust(64, 'd')
+ assert_linear_performance(seq, rehearsal: rehearsal, pre: pre) do |to|
+ repeat.times {re =~ to and flunk}
+ end
end
def test_to_s
diff --git a/test/uri/test_parser.rb b/test/uri/test_parser.rb
index f455a5cc9b..c14824f5e8 100644
--- a/test/uri/test_parser.rb
+++ b/test/uri/test_parser.rb
@@ -20,17 +20,17 @@ class URI::TestParser < Test::Unit::TestCase
u2 = p.parse(url)
u3 = p.parse(url)
- assert(u0 == u1)
- assert(u0.eql?(u1))
- assert(!u0.equal?(u1))
+ assert_equal(u1, u0)
+ assert_send([u0, :eql?, u1])
+ refute_same(u1, u0)
- assert(u1 == u2)
- assert(!u1.eql?(u2))
- assert(!u1.equal?(u2))
+ assert_equal(u2, u1)
+ assert_not_send([u1, :eql?, u2])
+ refute_same(u1, u2)
- assert(u2 == u3)
- assert(u2.eql?(u3))
- assert(!u2.equal?(u3))
+ assert_equal(u3, u2)
+ assert_send([u2, :eql?, u3])
+ refute_same(u3, u2)
end
def test_parse_rfc2396_parser
@@ -113,4 +113,12 @@ class URI::TestParser < Test::Unit::TestCase
end
end
end
+
+ def test_rfc2822_make_regexp
+ parser = URI::RFC2396_Parser.new
+ regexp = parser.make_regexp("HTTP")
+ assert_match(regexp, "HTTP://EXAMPLE.COM/")
+ assert_match(regexp, "http://example.com/")
+ refute_match(regexp, "https://example.com/")
+ end
end
diff --git a/test/uri/test_ws.rb b/test/uri/test_ws.rb
index f3918f617c..d63ebd4a46 100644
--- a/test/uri/test_ws.rb
+++ b/test/uri/test_ws.rb
@@ -31,19 +31,19 @@ class URI::TestWS < Test::Unit::TestCase
host = 'aBcD'
u1 = URI.parse('ws://' + host + '/eFg?HiJ')
u2 = URI.parse('ws://' + host.downcase + '/eFg?HiJ')
- assert(u1.normalize.host == 'abcd')
- assert(u1.normalize.path == u1.path)
- assert(u1.normalize == u2.normalize)
- assert(!u1.normalize.host.equal?(u1.host))
- assert( u2.normalize.host.equal?(u2.host))
+ assert_equal('abcd', u1.normalize.host)
+ assert_equal(u1.path, u1.normalize.path)
+ assert_equal(u2.normalize, u1.normalize)
+ refute_same(u1.host, u1.normalize.host)
+ assert_same(u2.host, u2.normalize.host)
assert_equal('ws://abc/', URI.parse('ws://abc').normalize.to_s)
end
def test_equal
- assert(URI.parse('ws://abc') == URI.parse('ws://ABC'))
- assert(URI.parse('ws://abc/def') == URI.parse('ws://ABC/def'))
- assert(URI.parse('ws://abc/def') != URI.parse('ws://ABC/DEF'))
+ assert_equal(URI.parse('ws://ABC'), URI.parse('ws://abc'))
+ assert_equal(URI.parse('ws://ABC/def'), URI.parse('ws://abc/def'))
+ refute_equal(URI.parse('ws://ABC/DEF'), URI.parse('ws://abc/def'))
end
def test_request_uri
diff --git a/test/uri/test_wss.rb b/test/uri/test_wss.rb
index 13a2583059..cbef327cc6 100644
--- a/test/uri/test_wss.rb
+++ b/test/uri/test_wss.rb
@@ -31,19 +31,19 @@ class URI::TestWSS < Test::Unit::TestCase
host = 'aBcD'
u1 = URI.parse('wss://' + host + '/eFg?HiJ')
u2 = URI.parse('wss://' + host.downcase + '/eFg?HiJ')
- assert(u1.normalize.host == 'abcd')
- assert(u1.normalize.path == u1.path)
- assert(u1.normalize == u2.normalize)
- assert(!u1.normalize.host.equal?(u1.host))
- assert( u2.normalize.host.equal?(u2.host))
+ assert_equal('abcd', u1.normalize.host)
+ assert_equal(u1.path, u1.normalize.path)
+ assert_equal(u2.normalize, u1.normalize)
+ refute_same(u1.host, u1.normalize.host)
+ assert_same(u2.host, u2.normalize.host)
assert_equal('wss://abc/', URI.parse('wss://abc').normalize.to_s)
end
def test_equal
- assert(URI.parse('wss://abc') == URI.parse('wss://ABC'))
- assert(URI.parse('wss://abc/def') == URI.parse('wss://ABC/def'))
- assert(URI.parse('wss://abc/def') != URI.parse('wss://ABC/DEF'))
+ assert_equal(URI.parse('wss://ABC'), URI.parse('wss://abc'))
+ assert_equal(URI.parse('wss://ABC/def'), URI.parse('wss://abc/def'))
+ refute_equal(URI.parse('wss://ABC/DEF'), URI.parse('wss://abc/def'))
end
def test_request_uri