PageRenderTime 24ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/gems/facets-2.4.5/test/more/test_arguments.rb

https://bitbucket.org/mediashelf/fedora-migrator
Ruby | 56 lines | 45 code | 10 blank | 1 comment | 0 complexity | e7a8c23b8d88bf843b7e87f6741c803d MD5 | raw file
Possible License(s): GPL-3.0, GPL-2.0, IPL-1.0, AGPL-1.0, LGPL-3.0
  1. # Test for facets/arguments.rb.
  2. require 'test/unit'
  3. require 'facets/arguments.rb'
  4. class TestArguments < Test::Unit::TestCase
  5. include CLI
  6. def test_parameters
  7. line = "-x baz --foo=8 bar"
  8. cargs = Arguments.new(line)
  9. args, keys = cargs.parameters
  10. assert_equal(['baz','bar'], args)
  11. assert_equal({'foo'=>'8','x'=>true}, keys)
  12. end
  13. def test_parameters_with_arity
  14. line = "-g a -x b -x c"
  15. cargs = Arguments.new(line, :g=>1, :x=>1)
  16. args, keys = cargs.parameters
  17. assert_equal({'g'=>'a','x'=>['b','c']}, keys)
  18. assert_equal([], args)
  19. end
  20. def test_flags
  21. line = "-x baz --foo=8 bar"
  22. cargs = Arguments.new(line)
  23. flags = cargs.flags
  24. assert_equal(['x'], flags)
  25. end
  26. def test_repeat
  27. line = "-x baz --foo=1 --foo=2 bar"
  28. cargs = Arguments.new(line)
  29. args, keys = cargs.parameters
  30. assert_equal(['baz','bar'], args)
  31. assert_equal({'x'=>true,'foo'=>['1','2']}, keys)
  32. end
  33. def test_preoptions
  34. line = "-x --foo=7 baz -y bar"
  35. cargs = Arguments.new(line)
  36. flags = cargs.preoptions
  37. assert_equal({'x'=>true,'foo'=>'7'}, flags)
  38. end
  39. def test_with_arity
  40. line = "-q baz --aq 5 bar"
  41. cargs = Arguments.new(line,'aq'=>1)
  42. words, flags = cargs.parameters
  43. assert_equal(['baz','bar'],words)
  44. assert_equal({'q'=>true,'aq'=>'5'},flags)
  45. end
  46. end