test/test_option_parser.rb in cri-2.9.0 vs test/test_option_parser.rb in cri-2.9.1

- old
+ new

@@ -280,10 +280,22 @@ assert_equal(%w[test test2], parser.options[:long]) assert_equal(3, parser.options[:verbose].size) end + def test_parse_with_default_required_unspecified + input = %w[foo] + definitions = [ + { long: 'animal', short: 'a', argument: :required, default: 'donkey' }, + ] + + parser = Cri::OptionParser.parse(input, definitions) + + assert_equal({ animal: 'donkey' }, parser.options) + assert_equal(['foo'], parser.arguments) + end + def test_parse_with_default_required_no_value input = %w[foo -a] definitions = [ { long: 'animal', short: 'a', argument: :required, default: 'donkey' }, ] @@ -300,9 +312,21 @@ ] parser = Cri::OptionParser.parse(input, definitions) assert_equal({ animal: 'giraffe' }, parser.options) + assert_equal(['foo'], parser.arguments) + end + + def test_parse_with_default_optional_unspecified + input = %w[foo] + definitions = [ + { long: 'animal', short: 'a', argument: :optional, default: 'donkey' }, + ] + + parser = Cri::OptionParser.parse(input, definitions) + + assert_equal({ animal: 'donkey' }, parser.options) assert_equal(['foo'], parser.arguments) end def test_parse_with_default_optional_no_value input = %w[foo -a]