/test/lib/cli/test_cli_08.e
http://github.com/tybor/Liberty · Specman e · 330 lines · 311 code · 11 blank · 8 comment · 0 complexity · acd6729a12802eab06414b88f3343736 MD5 · raw file
- class TEST_CLI_08
- --
- -- Same as TEST_CLI_02 with the special "remaining_parameters" to parse
- --
- insert
- ARGUMENTS
- EIFFELTEST_TOOLS
- COMMAND_LINE_ARGUMENT_FACTORY
- create {}
- make
- feature {}
- make
- local
- foo_option: COMMAND_LINE_TYPED_ARGUMENT[FIXED_STRING]
- bar_option: COMMAND_LINE_TYPED_ARGUMENT[INTEGER]
- do
- foo_option := option_string("f", "foo", "foo", "The foo string")
- bar_option := option_integer("b", "bar", "bar", "The bar integer")
- create args.make(foo_option and bar_option and remaining_parameters)
- -- an empty command line is valid
- setup
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- -- a foo option takes a string
- setup
- command_arguments.add_last("--foo")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(not args.parse_command_line)
- setup
- command_arguments.add_last("--foo")
- command_arguments.add_last("the foo option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo option"))
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("--foo=the foo option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo option"))
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-f")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(not args.parse_command_line)
- setup
- command_arguments.add_last("-f")
- command_arguments.add_last("the foo option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo option"))
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- -- a bar option takes an integer
- setup
- command_arguments.add_last("--bar")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(not args.parse_command_line)
- setup
- command_arguments.add_last("--bar")
- command_arguments.add_last("the foo option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(not args.parse_command_line)
- setup
- command_arguments.add_last("--bar")
- command_arguments.add_last("42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("--bar=42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-b")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(not args.parse_command_line)
- setup
- command_arguments.add_last("-b")
- command_arguments.add_last("the foo option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(not args.parse_command_line)
- setup
- command_arguments.add_last("-b")
- command_arguments.add_last("42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- -- can have both foo and bar...
- setup
- command_arguments.add_last("--foo")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last("--bar")
- command_arguments.add_last("42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-f")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last("-b")
- command_arguments.add_last("42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-f")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last("--bar")
- command_arguments.add_last("42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("--foo")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last("-b")
- command_arguments.add_last("42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-fb")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last("42")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- -- ... in any order
- setup
- command_arguments.add_last("--bar")
- command_arguments.add_last("42")
- command_arguments.add_last("--foo")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-b")
- command_arguments.add_last("42")
- command_arguments.add_last("-f")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("--bar")
- command_arguments.add_last("42")
- command_arguments.add_last("-f")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-b")
- command_arguments.add_last("42")
- command_arguments.add_last("--foo")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- setup
- command_arguments.add_last("-bf")
- command_arguments.add_last("42")
- command_arguments.add_last("the foo z'option")
- command_arguments.add_last(once "--")
- command_arguments.add_last(once "--foo=ignored")
- command_arguments.add_last(once "--bar")
- command_arguments.add_last(once "oh well")
- assert(args.parse_command_line)
- assert(foo_option.item.is_equal("the foo z'option"))
- assert(bar_option.item = 42)
- assert(remaining_parameters.item.count = 3)
- assert(remaining_parameters.item.item(0).is_equal(once "--foo=ignored"))
- assert(remaining_parameters.item.item(1).is_equal(once "--bar"))
- assert(remaining_parameters.item.item(2).is_equal(once "oh well"))
- end
- setup
- do
- command_arguments.make(1)
- end
- args: COMMAND_LINE_ARGUMENTS
- end