Index: lib/rubygems/version.rb =================================================================== --- lib/rubygems/version.rb (revision 43826) +++ lib/rubygems/version.rb (working copy) @@ -145,8 +145,8 @@ class Gem::Version include Comparable - VERSION_PATTERN = '[0-9]+(\.[0-9a-zA-Z]+)*' # :nodoc: - ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})*\s*\z/ # :nodoc: + VERSION_PATTERN = '[0-9]+(?>\.[0-9a-zA-Z]+)*' # :nodoc: + ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})?\s*\z/ # :nodoc: ## # A string representation of this Version. Index: lib/rubygems.rb =================================================================== --- lib/rubygems.rb (revision 43826) +++ lib/rubygems.rb (working copy) @@ -121,7 +121,7 @@ require "rubygems/deprecate" # -The RubyGems Team module Gem - VERSION = '1.8.23' + VERSION = '1.8.23.2' ## # Raised when RubyGems is unable to load or activate a gem. Contains the Index: test/rubygems/test_gem_requirement.rb =================================================================== --- test/rubygems/test_gem_requirement.rb (revision 43826) +++ test/rubygems/test_gem_requirement.rb (working copy) @@ -37,17 +37,19 @@ class TestGemRequirement < Gem::TestCase end def test_parse_bad - e = assert_raises ArgumentError do - Gem::Requirement.parse nil - end - - assert_equal 'Illformed requirement [nil]', e.message + [ + nil, + '', + '! 1', + '= junk', + '1..2', + ].each do |bad| + e = assert_raises ArgumentError do + Gem::Requirement.parse bad + end - e = assert_raises ArgumentError do - Gem::Requirement.parse "" + assert_equal "Illformed requirement [#{bad.inspect}]", e.message end - - assert_equal 'Illformed requirement [""]', e.message end def test_prerelease_eh Index: test/rubygems/test_gem_version.rb =================================================================== --- test/rubygems/test_gem_version.rb (revision 43826) +++ test/rubygems/test_gem_version.rb (working copy) @@ -64,12 +64,18 @@ class TestGemVersion < Gem::TestCase end def test_initialize_bad - ["junk", "1.0\n2.0"].each do |bad| - e = assert_raises ArgumentError do + %W[ + junk + 1.0\n2.0 + 1..2 + 1.2\ 3.4 + 1-2-3 + ].each do |bad| + e = assert_raises ArgumentError, bad do Gem::Version.new bad end - assert_equal "Malformed version number string #{bad}", e.message + assert_equal "Malformed version number string #{bad}", e.message, bad end end