test/test_parser.rb in cri-2.15.0 vs test/test_parser.rb in cri-2.15.1
- old
+ new
@@ -9,11 +9,11 @@
opt_defns = []
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({}, parser.options)
- assert_equal(%w[foo bar baz], parser.arguments.to_a)
+ assert_equal(%w[foo bar baz], parser.gen_argument_list.to_a)
end
def test_parse_with_invalid_option
input = %w[foo -x]
opt_defns = []
@@ -41,11 +41,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
- assert_equal(%w[foo bar], parser.arguments.to_a)
+ assert_equal(%w[foo bar], parser.gen_argument_list.to_a)
end
def test_parse_with_long_valueful_option
input = %w[foo --aaa xxx bar]
opt_defns = [
@@ -53,11 +53,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
- assert_equal(%w[foo bar], parser.arguments.to_a)
+ assert_equal(%w[foo bar], parser.gen_argument_list.to_a)
end
def test_parse_with_long_valueful_equalsign_option
input = %w[foo --aaa=xxx bar]
opt_defns = [
@@ -65,11 +65,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
- assert_equal(%w[foo bar], parser.arguments.to_a)
+ assert_equal(%w[foo bar], parser.gen_argument_list.to_a)
end
def test_parse_with_long_valueful_option_with_missing_value
input = %w[foo --aaa]
opt_defns = [
@@ -100,11 +100,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_long_valueful_option_with_optional_value
input = %w[foo --aaa xxx]
opt_defns = [
@@ -112,11 +112,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_long_valueless_option_with_optional_value_and_more_options
input = %w[foo --aaa -b -c]
opt_defns = [
@@ -128,11 +128,11 @@
parser = Cri::Parser.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)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_short_valueless_options
input = %w[foo -a bar]
opt_defns = [
@@ -140,11 +140,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
- assert_equal(%w[foo bar], parser.arguments.to_a)
+ assert_equal(%w[foo bar], parser.gen_argument_list.to_a)
end
def test_parse_with_short_valueful_option_with_missing_value
input = %w[foo -a]
opt_defns = [
@@ -167,11 +167,11 @@
parser = Cri::Parser.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)
+ assert_equal(%w[foo bar], parser.gen_argument_list.to_a)
end
def test_parse_with_short_combined_valueful_options_with_missing_value
input = %w[foo -abc bar qux]
opt_defns = [
@@ -183,11 +183,11 @@
parser = Cri::Parser.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)
+ assert_equal(%w[foo qux], parser.gen_argument_list.to_a)
end
def test_parse_with_two_short_valueful_options
input = %w[foo -a -p 2]
opt_defns = [
@@ -207,11 +207,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert(parser.options[:aaa])
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_short_valueful_option_with_optional_value
input = %w[foo -a xxx]
opt_defns = [
@@ -219,11 +219,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ aaa: 'xxx' }, parser.options)
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_short_valueless_option_with_optional_value_and_more_options
input = %w[foo -a -b -c]
opt_defns = [
@@ -235,31 +235,31 @@
parser = Cri::Parser.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)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_single_hyphen
input = %w[foo - bar]
opt_defns = []
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({}, parser.options)
- assert_equal(['foo', '-', 'bar'], parser.arguments.to_a)
+ assert_equal(['foo', '-', 'bar'], parser.gen_argument_list.to_a)
end
def test_parse_with_end_marker
input = %w[foo bar -- -x --yyy -abc]
opt_defns = []
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({}, parser.options)
- assert_equal(['foo', 'bar', '-x', '--yyy', '-abc'], parser.arguments.to_a)
+ assert_equal(['foo', 'bar', '-x', '--yyy', '-abc'], parser.gen_argument_list.to_a)
end
def test_parse_with_end_marker_between_option_key_and_value
input = %w[foo --aaa -- zzz]
opt_defns = [
@@ -291,11 +291,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'donkey' }, parser.options)
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_default_required_no_value
input = %w[foo -a]
opt_defns = [
@@ -314,11 +314,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'giraffe' }, parser.options)
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_default_optional_unspecified
input = %w[foo]
opt_defns = [
@@ -326,11 +326,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'donkey' }, parser.options)
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_default_optional_no_value
input = %w[foo -a]
opt_defns = [
@@ -338,11 +338,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'donkey' }, parser.options)
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_default_optional_value
input = %w[foo -a giraffe]
opt_defns = [
@@ -350,11 +350,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'giraffe' }, parser.options)
- assert_equal(['foo'], parser.arguments.to_a)
+ assert_equal(['foo'], parser.gen_argument_list.to_a)
end
def test_parse_with_default_optional_value_and_arg
input = %w[foo -a gi raffe]
opt_defns = [
@@ -362,11 +362,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ animal: 'gi' }, parser.options)
- assert_equal(%w[foo raffe], parser.arguments.to_a)
+ assert_equal(%w[foo raffe], parser.gen_argument_list.to_a)
end
def test_parse_with_combined_required_options
input = %w[foo -abc xxx yyy zzz]
opt_defns = [
@@ -376,11 +376,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.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)
+ assert_equal(%w[foo zzz], parser.gen_argument_list.to_a)
end
def test_parse_with_combined_optional_options
input = %w[foo -abc xxx yyy zzz]
opt_defns = [
@@ -390,11 +390,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.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)
+ assert_equal(%w[foo zzz], parser.gen_argument_list.to_a)
end
def test_parse_with_combined_optional_options_with_missing_value
input = %w[foo -abc xxx]
opt_defns = [
@@ -404,11 +404,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.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)
+ assert_equal(%w[foo], parser.gen_argument_list.to_a)
end
def test_parse_with_transform_proc
input = %w[--port 123]
opt_defns = [
@@ -416,11 +416,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ port: 123 }, parser.options)
- assert_equal([], parser.arguments.to_a)
+ assert_equal([], parser.gen_argument_list.to_a)
end
def test_parse_with_transform_method
input = %w[--port 123]
opt_defns = [
@@ -428,11 +428,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ port: 123 }, parser.options)
- assert_equal([], parser.arguments.to_a)
+ assert_equal([], parser.gen_argument_list.to_a)
end
def test_parse_with_transform_object
port = Class.new do
def call(str)
@@ -446,11 +446,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ port: 123 }, parser.options)
- assert_equal([], parser.arguments.to_a)
+ assert_equal([], parser.gen_argument_list.to_a)
end
def test_parse_with_transform_default
port = Class.new do
def call(str)
@@ -465,11 +465,11 @@
].map { |hash| make_opt_defn(hash) }
parser = Cri::Parser.new(input, opt_defns, [], false).run
assert_equal({ port: 8080 }, parser.options)
- assert_equal([], parser.arguments.to_a)
+ assert_equal([], parser.gen_argument_list.to_a)
end
def test_parse_with_transform_exception
input = %w[--port one_hundred_and_twenty_three]
opt_defns = [
@@ -488,23 +488,23 @@
{ name: 'host', transform: nil },
].map { |hash| Cri::ParamDefinition.new(hash) }
parser = Cri::Parser.new(input, [], param_defns, false).run
assert_equal({}, parser.options)
- assert_equal('localhost', parser.arguments[0])
- assert_equal('localhost', parser.arguments[:host])
+ assert_equal('localhost', parser.gen_argument_list[0])
+ assert_equal('localhost', parser.gen_argument_list[:host])
end
def test_parse_with_param_defns_too_few_args
input = []
param_defns = [
{ name: 'host', transform: nil },
].map { |hash| Cri::ParamDefinition.new(hash) }
parser = Cri::Parser.new(input, [], param_defns, false).run
exception = assert_raises(Cri::ArgumentList::ArgumentCountMismatchError) do
- parser.arguments
+ parser.gen_argument_list
end
assert_equal('incorrect number of arguments given: expected 1, but got 0', exception.message)
end
def test_parse_with_param_defns_too_many_args
@@ -513,11 +513,11 @@
{ name: 'host', transform: nil },
].map { |hash| Cri::ParamDefinition.new(hash) }
parser = Cri::Parser.new(input, [], param_defns, false).run
exception = assert_raises(Cri::ArgumentList::ArgumentCountMismatchError) do
- parser.arguments
+ parser.gen_argument_list
end
assert_equal('incorrect number of arguments given: expected 1, but got 2', exception.message)
end
def test_parse_with_param_defns_invalid_key
@@ -527,11 +527,11 @@
].map { |hash| Cri::ParamDefinition.new(hash) }
parser = Cri::Parser.new(input, [], param_defns, false).run
exception = assert_raises(ArgumentError) do
- parser.arguments['oink']
+ parser.gen_argument_list['oink']
end
assert_equal('argument lists can be indexed using a Symbol or an Integer, but not a String', exception.message)
end
def test_parse_with_param_defns_two_params
@@ -541,13 +541,13 @@
{ name: 'target', transform: nil },
].map { |hash| Cri::ParamDefinition.new(hash) }
parser = Cri::Parser.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])
+ assert_equal('localhost', parser.gen_argument_list[0])
+ assert_equal('localhost', parser.gen_argument_list[:source])
+ assert_equal('example.com', parser.gen_argument_list[1])
+ assert_equal('example.com', parser.gen_argument_list[:target])
end
def make_opt_defn(hash)
Cri::OptionDefinition.new(
short: hash.fetch(:short, nil),