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]