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),