diff options
-rw-r--r-- | lib/optparse.rb | 2 | ||||
-rw-r--r-- | test/optparse/test_acceptable.rb | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/optparse.rb b/lib/optparse.rb index d887e2f98d..b4c44545bb 100644 --- a/lib/optparse.rb +++ b/lib/optparse.rb @@ -1865,7 +1865,7 @@ XXX DecimalInteger = /\A[-+]?#{decimal}\z/io accept(DecimalInteger, DecimalInteger) {|s,| begin - Integer(s) + Integer(s, 10) rescue ArgumentError raise OptionParser::InvalidArgument, s end if s diff --git a/test/optparse/test_acceptable.rb b/test/optparse/test_acceptable.rb index 0c7590bae3..dd38f8ec7a 100644 --- a/test/optparse/test_acceptable.rb +++ b/test/optparse/test_acceptable.rb @@ -108,16 +108,16 @@ class TestOptionParser::Acceptable < TestOptionParser assert_equal(%w"", no_error {@opt.parse!(%w"--decimal-integer 10")}) assert_equal(10, @decimal_integer) + assert_equal(%w"", no_error {@opt.parse!(%w"--decimal-integer 010")}) + assert_equal(10, @decimal_integer) + + assert_equal(%w"", no_error {@opt.parse!(%w"--decimal-integer 09")}) + assert_equal(9, @decimal_integer) + assert_raise(OptionParser::InvalidArgument) do @opt.parse!(%w"--decimal-integer 0b1") end - e = assert_raise(OptionParser::InvalidArgument) do - @opt.parse!(%w"--decimal-integer 09") - end - - assert_equal("invalid argument: --decimal-integer 09", e.message) - assert_raise(OptionParser::InvalidArgument) do @opt.parse!(%w"--decimal-integer x") end |