diff options
author | fatkodima <[email protected]> | 2024-08-05 05:28:01 +0300 |
---|---|---|
committer | git <[email protected]> | 2024-08-05 02:28:12 +0000 |
commit | a35d32486242641ccd2ac98d43211343a3712c52 (patch) | |
tree | ac670d9f747c64126664be3bef8e4e21f09b1ef6 /test | |
parent | cbc40bb130fb52f1990ce1fd41e834a5f3fdbcdd (diff) |
[ruby/optparse] Fix parsing array arguments with `:into` option
https://github.com/ruby/optparse/commit/19700e96d8
Diffstat (limited to 'test')
-rw-r--r-- | test/optparse/test_acceptable.rb | 2 | ||||
-rw-r--r-- | test/optparse/test_optparse.rb | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/test/optparse/test_acceptable.rb b/test/optparse/test_acceptable.rb index c7ea2152fc..8b578effde 100644 --- a/test/optparse/test_acceptable.rb +++ b/test/optparse/test_acceptable.rb @@ -199,5 +199,7 @@ class TestOptionParserAcceptable < TestOptionParser def test_array assert_equal(%w"", no_error {@opt.parse!(%w"--array a,b,c")}) assert_equal(%w"a b c", @array) + assert_equal(%w"", no_error {@opt.parse!(%w"--array a")}) + assert_equal(%w"a", @array) end end diff --git a/test/optparse/test_optparse.rb b/test/optparse/test_optparse.rb index 8d09e0f28b..7f35cb4a8a 100644 --- a/test/optparse/test_optparse.rb +++ b/test/optparse/test_optparse.rb @@ -74,6 +74,7 @@ class TestOptionParser < Test::Unit::TestCase @opt.def_option "-v", "--verbose" do @verbose = true end @opt.def_option "-q", "--quiet" do @quiet = true end @opt.def_option "-o", "--option [OPT]" do |opt| @option = opt end + @opt.def_option "-a", "--array [VAL]", Array do |val| val end result = {} @opt.parse %w(--host localhost --port 8000 -v), into: result assert_equal({host: "localhost", port: 8000, verbose: true}, result) @@ -84,6 +85,18 @@ class TestOptionParser < Test::Unit::TestCase result = {} @opt.parse %w(--option OPTION -v), into: result assert_equal({verbose: true, option: "OPTION"}, result) + result = {} + @opt.parse %w(-a b,c,d), into: result + assert_equal({array: %w(b c d)}, result) + result = {} + @opt.parse %w(--array b,c,d), into: result + assert_equal({array: %w(b c d)}, result) + result = {} + @opt.parse %w(-a b), into: result + assert_equal({array: %w(b)}, result) + result = {} + @opt.parse %w(--array b), into: result + assert_equal({array: %w(b)}, result) end def test_require_exact |