ruby-changes:22165
From: naruse <ko1@a...>
Date: Thu, 5 Jan 2012 11:57:33 +0900 (JST)
Subject: [ruby-changes:22165] naruse:r34214 (trunk): * lib/uri/common.rb (URI::Parser#initialize_regexp):
naruse 2012-01-05 11:57:21 +0900 (Thu, 05 Jan 2012) New Revision: 34214 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34214 Log: * lib/uri/common.rb (URI::Parser#initialize_regexp): use \A \z instead of ^ $. [Bug #5843] Modified files: trunk/ChangeLog trunk/lib/uri/common.rb trunk/test/uri/test_generic.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 34213) +++ ChangeLog (revision 34214) @@ -1,3 +1,8 @@ +Thu Jan 5 11:47:54 2012 NARUSE, Yui <naruse@r...> + + * lib/uri/common.rb (URI::Parser#initialize_regexp): + use \A \z instead of ^ $. [Bug #5843] + Wed Jan 4 17:55:53 2012 Ayumu AIZAWA <ayumu.aizawa@g...> * array.c (rb_ary_sample): add example for Array#sample Index: lib/uri/common.rb =================================================================== --- lib/uri/common.rb (revision 34213) +++ lib/uri/common.rb (revision 34214) @@ -514,16 +514,16 @@ ret[:UNSAFE] = Regexp.new("[^#{pattern[:UNRESERVED]}#{pattern[:RESERVED]}]") # for Generic#initialize - ret[:SCHEME] = Regexp.new("^#{pattern[:SCHEME]}$") - ret[:USERINFO] = Regexp.new("^#{pattern[:USERINFO]}$") - ret[:HOST] = Regexp.new("^#{pattern[:HOST]}$") - ret[:PORT] = Regexp.new("^#{pattern[:PORT]}$") - ret[:OPAQUE] = Regexp.new("^#{pattern[:OPAQUE_PART]}$") - ret[:REGISTRY] = Regexp.new("^#{pattern[:REG_NAME]}$") - ret[:ABS_PATH] = Regexp.new("^#{pattern[:ABS_PATH]}$") - ret[:REL_PATH] = Regexp.new("^#{pattern[:REL_PATH]}$") - ret[:QUERY] = Regexp.new("^#{pattern[:QUERY]}$") - ret[:FRAGMENT] = Regexp.new("^#{pattern[:FRAGMENT]}$") + ret[:SCHEME] = Regexp.new("\\A#{pattern[:SCHEME]}\\z") + ret[:USERINFO] = Regexp.new("\\A#{pattern[:USERINFO]}\\z") + ret[:HOST] = Regexp.new("\\A#{pattern[:HOST]}\\z") + ret[:PORT] = Regexp.new("\\A#{pattern[:PORT]}\\z") + ret[:OPAQUE] = Regexp.new("\\A#{pattern[:OPAQUE_PART]}\\z") + ret[:REGISTRY] = Regexp.new("\\A#{pattern[:REG_NAME]}\\z") + ret[:ABS_PATH] = Regexp.new("\\A#{pattern[:ABS_PATH]}\\z") + ret[:REL_PATH] = Regexp.new("\\A#{pattern[:REL_PATH]}\\z") + ret[:QUERY] = Regexp.new("\\A#{pattern[:QUERY]}\\z") + ret[:FRAGMENT] = Regexp.new("\\A#{pattern[:FRAGMENT]}\\z") ret end Index: test/uri/test_generic.rb =================================================================== --- test/uri/test_generic.rb (revision 34213) +++ test/uri/test_generic.rb (revision 34214) @@ -692,6 +692,7 @@ uri = URI.parse('http://example.com') assert_raise(URI::InvalidURIError) { uri.password = 'bar' } + assert_raise(URI::InvalidComponentError) { uri.query = "foo\nbar" } uri.userinfo = 'foo:bar' assert_equal('http://foo:bar@e...', uri.to_s) assert_raise(URI::InvalidURIError) { uri.registry = 'bar' } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/