/test/lib/cli/test_cli_04.e

http://github.com/tybor/Liberty · Specman e · 46 lines · 34 code · 9 blank · 3 comment · 0 complexity · 82c98e1a0c8b6231d26b3adfebf5a046 MD5 · raw file

  1. class TEST_CLI_04
  2. insert
  3. ARGUMENTS
  4. EIFFELTEST_TOOLS
  5. COMMAND_LINE_ARGUMENT_FACTORY
  6. create {}
  7. make
  8. feature {}
  9. make
  10. local
  11. foo_option: COMMAND_LINE_TYPED_ARGUMENT[FIXED_STRING]
  12. bar_option: COMMAND_LINE_TYPED_ARGUMENT[INTEGER]
  13. do
  14. foo_option := option_string("f", "foo", "foo", "The foo string")
  15. bar_option := option_integer("b", "bar", "bar", "The bar integer")
  16. create args.make(+foo_option and bar_option) -- see TEST_CLI_03; also works written like this
  17. -- an empty command line is not valid
  18. setup
  19. assert(not args.parse_command_line)
  20. -- a bar option alone is not valid
  21. setup
  22. command_arguments.add_last("--bar=42")
  23. assert(not args.parse_command_line)
  24. -- must have at least foo, bar is optional
  25. setup
  26. command_arguments.add_last("--foo=the foo z'option")
  27. command_arguments.add_last("--bar=42")
  28. assert(args.parse_command_line)
  29. assert(foo_option.item.is_equal("the foo z'option"))
  30. assert(bar_option.item = 42)
  31. end
  32. setup
  33. do
  34. command_arguments.make(1)
  35. end
  36. args: COMMAND_LINE_ARGUMENTS
  37. end