Index: test/uri/test_generic.rb =================================================================== --- test/uri/test_generic.rb (revision 31234) +++ test/uri/test_generic.rb (working copy) @@ -696,6 +696,12 @@ class URI::TestGeneric < Test::Unit::Tes assert_raise(URI::InvalidURIError) { uri.query = 'bar' } end + def test_set_scheme + uri = URI.parse 'HTTP://example' + + assert_equal 'http://example', uri.to_s + end + def test_ipv6 assert_equal("[::1]", URI("http://[::1]/bar/baz").host) assert_equal("::1", URI("http://[::1]/bar/baz").hostname) Index: lib/uri/generic.rb =================================================================== --- lib/uri/generic.rb (revision 31234) +++ lib/uri/generic.rb (working copy) @@ -272,7 +272,7 @@ module URI private :check_scheme def set_scheme(v) - @scheme = v + @scheme = v ? v.downcase : v end protected :set_scheme