test/test_option_parser.rb in cri-2.12.0 vs test/test_option_parser.rb in cri-2.13.0
- old
+ new
@@ -6,43 +6,43 @@
class OptionParserTestCase < Cri::TestCase
def test_parse_without_options
input = %w[foo bar baz]
opt_defns = []
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({}, parser.options)
assert_equal(%w[foo bar baz], parser.arguments.to_a)
end
def test_parse_with_invalid_option
input = %w[foo -x]
opt_defns = []
assert_raises(Cri::OptionParser::IllegalOptionError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
end
def test_parse_with_unused_options
input = %w[foo]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :forbidden },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(!parser.options[:aaa])
end
def test_parse_with_long_valueless_option
input = %w[foo --aaa bar]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :forbidden },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
assert_equal(%w[foo bar], parser.arguments.to_a)
end
@@ -50,11 +50,11 @@
input = %w[foo --aaa xxx bar]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :required },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
assert_equal(%w[foo bar], parser.arguments.to_a)
end
@@ -62,11 +62,11 @@
input = %w[foo --aaa=xxx bar]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :required },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
assert_equal(%w[foo bar], parser.arguments.to_a)
end
@@ -75,11 +75,11 @@
opt_defns = [
{ long: 'aaa', short: 'a', argument: :required },
].map { |hash| make_opt_defn(hash) }
assert_raises(Cri::OptionParser::OptionRequiresAnArgumentError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
end
def test_parse_with_two_long_valueful_options
input = %w[foo --all --port 2]
@@ -87,21 +87,21 @@
{ long: 'all', short: 'a', argument: :required },
{ long: 'port', short: 'p', argument: :required },
].map { |hash| make_opt_defn(hash) }
assert_raises(Cri::OptionParser::OptionRequiresAnArgumentError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
end
def test_parse_with_long_valueless_option_with_optional_value
input = %w[foo --aaa]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :optional },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -109,11 +109,11 @@
input = %w[foo --aaa xxx]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :optional },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -123,11 +123,11 @@
{ long: 'aaa', short: 'a', argument: :optional },
{ long: 'bbb', short: 'b', argument: :forbidden },
{ long: 'ccc', short: 'c', argument: :forbidden },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
assert(parser.options[:bbb])
assert(parser.options[:ccc])
assert_equal(['foo'], parser.arguments.to_a)
@@ -137,11 +137,11 @@
input = %w[foo -a bar]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :forbidden },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
assert_equal(%w[foo bar], parser.arguments.to_a)
end
@@ -150,11 +150,11 @@
opt_defns = [
{ long: 'aaa', short: 'a', argument: :required },
].map { |hash| make_opt_defn(hash) }
assert_raises(Cri::OptionParser::OptionRequiresAnArgumentError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
end
def test_parse_with_short_combined_valueless_options
input = %w[foo -abc bar]
@@ -162,11 +162,11 @@
{ long: 'aaa', short: 'a', argument: :forbidden },
{ long: 'bbb', short: 'b', argument: :forbidden },
{ long: 'ccc', short: 'c', argument: :forbidden },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
assert(parser.options[:bbb])
assert(parser.options[:ccc])
assert_equal(%w[foo bar], parser.arguments.to_a)
@@ -178,11 +178,11 @@
{ long: 'aaa', short: 'a', argument: :required },
{ long: 'bbb', short: 'b', argument: :forbidden },
{ long: 'ccc', short: 'c', argument: :forbidden },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal('bar', parser.options[:aaa])
assert(parser.options[:bbb])
assert(parser.options[:ccc])
assert_equal(%w[foo qux], parser.arguments.to_a)
@@ -194,21 +194,21 @@
{ long: 'all', short: 'a', argument: :required },
{ long: 'port', short: 'p', argument: :required },
].map { |hash| make_opt_defn(hash) }
assert_raises(Cri::OptionParser::OptionRequiresAnArgumentError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
end
def test_parse_with_short_valueless_option_with_optional_value
input = %w[foo -a]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :optional },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -216,11 +216,11 @@
input = %w[foo -a xxx]
opt_defns = [
{ long: 'aaa', short: 'a', argument: :optional },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -230,11 +230,11 @@
{ long: 'aaa', short: 'a', argument: :optional },
{ long: 'bbb', short: 'b', argument: :forbidden },
{ long: 'ccc', short: 'c', argument: :forbidden },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
assert(parser.options[:bbb])
assert(parser.options[:ccc])
assert_equal(['foo'], parser.arguments.to_a)
@@ -242,21 +242,21 @@
def test_parse_with_single_hyphen
input = %w[foo - bar]
opt_defns = []
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({}, parser.options)
assert_equal(['foo', '-', 'bar'], parser.arguments.to_a)
end
def test_parse_with_end_marker
input = %w[foo bar -- -x --yyy -abc]
opt_defns = []
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({}, parser.options)
assert_equal(['foo', 'bar', '-x', '--yyy', '-abc'], parser.arguments.to_a)
end
@@ -265,22 +265,22 @@
opt_defns = [
{ long: 'aaa', short: 'a', argument: :required },
].map { |hash| make_opt_defn(hash) }
assert_raises(Cri::OptionParser::OptionRequiresAnArgumentError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
end
def test_parse_with_multiple_options
input = %w[foo -o test -o test2 -v -v -v]
opt_defns = [
{ long: 'long', short: 'o', argument: :required, multiple: true },
{ long: 'verbose', short: 'v', multiple: true },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal(%w[test test2], parser.options[:long])
assert_equal(3, parser.options[:verbose].size)
end
@@ -288,11 +288,11 @@
input = %w[foo]
opt_defns = [
{ long: 'animal', short: 'a', argument: :required, default: 'donkey' },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'donkey' }, parser.options)
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -301,21 +301,21 @@
opt_defns = [
{ long: 'animal', short: 'a', argument: :required, default: 'donkey' },
].map { |hash| make_opt_defn(hash) }
assert_raises(Cri::OptionParser::OptionRequiresAnArgumentError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
end
def test_parse_with_default_required_value
input = %w[foo -a giraffe]
opt_defns = [
{ long: 'animal', short: 'a', argument: :required, default: 'donkey' },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'giraffe' }, parser.options)
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -323,11 +323,11 @@
input = %w[foo]
opt_defns = [
{ long: 'animal', short: 'a', argument: :optional, default: 'donkey' },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'donkey' }, parser.options)
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -335,11 +335,11 @@
input = %w[foo -a]
opt_defns = [
{ long: 'animal', short: 'a', argument: :optional, default: 'donkey' },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'donkey' }, parser.options)
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -347,11 +347,11 @@
input = %w[foo -a giraffe]
opt_defns = [
{ long: 'animal', short: 'a', argument: :optional, default: 'donkey' },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'giraffe' }, parser.options)
assert_equal(['foo'], parser.arguments.to_a)
end
@@ -359,11 +359,11 @@
input = %w[foo -a gi raffe]
opt_defns = [
{ long: 'animal', short: 'a', argument: :optional, default: 'donkey' },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'gi' }, parser.options)
assert_equal(%w[foo raffe], parser.arguments.to_a)
end
@@ -373,11 +373,11 @@
{ long: 'aaa', short: 'a', argument: :forbidden },
{ long: 'bbb', short: 'b', argument: :required },
{ long: 'ccc', short: 'c', argument: :required },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ aaa: true, bbb: 'xxx', ccc: 'yyy' }, parser.options)
assert_equal(%w[foo zzz], parser.arguments.to_a)
end
@@ -387,11 +387,11 @@
{ long: 'aaa', short: 'a', argument: :forbidden },
{ long: 'bbb', short: 'b', argument: :optional },
{ long: 'ccc', short: 'c', argument: :required },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ aaa: true, bbb: 'xxx', ccc: 'yyy' }, parser.options)
assert_equal(%w[foo zzz], parser.arguments.to_a)
end
@@ -401,11 +401,11 @@
{ long: 'aaa', short: 'a', argument: :forbidden },
{ long: 'bbb', short: 'b', argument: :required },
{ long: 'ccc', short: 'c', argument: :optional, default: 'c default' },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ aaa: true, bbb: 'xxx', ccc: 'c default' }, parser.options)
assert_equal(%w[foo], parser.arguments.to_a)
end
@@ -413,11 +413,11 @@
input = %w[--port 123]
opt_defns = [
{ long: 'port', short: 'p', argument: :required, transform: ->(x) { Integer(x) } },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ port: 123 }, parser.options)
assert_equal([], parser.arguments.to_a)
end
@@ -425,11 +425,11 @@
input = %w[--port 123]
opt_defns = [
{ long: 'port', short: 'p', argument: :required, transform: method(:Integer) },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ port: 123 }, parser.options)
assert_equal([], parser.arguments.to_a)
end
@@ -443,11 +443,11 @@
input = %w[--port 123]
opt_defns = [
{ long: 'port', short: 'p', argument: :required, transform: port },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ port: 123 }, parser.options)
assert_equal([], parser.arguments.to_a)
end
@@ -462,11 +462,11 @@
input = %w[]
opt_defns = [
{ long: 'port', short: 'p', argument: :required, default: 8080, transform: port },
].map { |hash| make_opt_defn(hash) }
- parser = Cri::OptionParser.new(input, opt_defns, []).run
+ parser = Cri::OptionParser.new(input, opt_defns, [], false).run
assert_equal({ port: 8080 }, parser.options)
assert_equal([], parser.arguments.to_a)
end
@@ -475,22 +475,22 @@
opt_defns = [
{ long: 'port', short: 'p', argument: :required, transform: method(:Integer) },
].map { |hash| make_opt_defn(hash) }
exception = assert_raises(Cri::OptionParser::IllegalOptionValueError) do
- Cri::OptionParser.new(input, opt_defns, []).run
+ Cri::OptionParser.new(input, opt_defns, [], false).run
end
assert_equal('invalid value "one_hundred_and_twenty_three" for --port option', exception.message)
end
def test_parse_with_param_defns
input = %w[localhost]
param_defns = [
{ name: 'host' },
].map { |hash| Cri::ParamDefinition.new(hash) }
- parser = Cri::OptionParser.new(input, [], param_defns).run
+ parser = Cri::OptionParser.new(input, [], param_defns, false).run
assert_equal({}, parser.options)
assert_equal('localhost', parser.arguments[0])
assert_equal('localhost', parser.arguments[:host])
end
@@ -498,11 +498,11 @@
input = []
param_defns = [
{ name: 'host' },
].map { |hash| Cri::ParamDefinition.new(hash) }
- parser = Cri::OptionParser.new(input, [], param_defns).run
+ parser = Cri::OptionParser.new(input, [], param_defns, false).run
exception = assert_raises(Cri::ArgumentList::ArgumentCountMismatchError) do
parser.arguments
end
assert_equal('incorrect number of arguments given: expected 1, but got 0', exception.message)
end
@@ -511,11 +511,11 @@
input = %w[localhost oink]
param_defns = [
{ name: 'host' },
].map { |hash| Cri::ParamDefinition.new(hash) }
- parser = Cri::OptionParser.new(input, [], param_defns).run
+ parser = Cri::OptionParser.new(input, [], param_defns, false).run
exception = assert_raises(Cri::ArgumentList::ArgumentCountMismatchError) do
parser.arguments
end
assert_equal('incorrect number of arguments given: expected 1, but got 2', exception.message)
end
@@ -524,11 +524,11 @@
input = %w[localhost]
param_defns = [
{ name: 'host' },
].map { |hash| Cri::ParamDefinition.new(hash) }
- parser = Cri::OptionParser.new(input, [], param_defns).run
+ parser = Cri::OptionParser.new(input, [], param_defns, false).run
exception = assert_raises(ArgumentError) do
parser.arguments['oink']
end
assert_equal('argument lists can be indexed using a Symbol or an Integer, but not a String', exception.message)
@@ -539,10 +539,10 @@
param_defns = [
{ name: 'source' },
{ name: 'target' },
].map { |hash| Cri::ParamDefinition.new(hash) }
- parser = Cri::OptionParser.new(input, [], param_defns).run
+ parser = Cri::OptionParser.new(input, [], param_defns, false).run
assert_equal({}, parser.options)
assert_equal('localhost', parser.arguments[0])
assert_equal('localhost', parser.arguments[:source])
assert_equal('example.com', parser.arguments[1])
assert_equal('example.com', parser.arguments[:target])