test/test_command.rb in cri-2.0a1 vs test/test_command.rb in cri-2.0a2

- old
+ new

@@ -27,14 +27,23 @@ $stdout.puts opts_strings.join(',') end end end + def bare_cmd + Cri::Command.define do + name 'moo' + + run do |opts, args| + end + end + end + def nested_cmd super_cmd = Cri::Command.define do name 'super' - usage 'does something super' + usage 'super [command] [options] [arguments]' summary 'does super stuff' description 'This command does super stuff.' option :a, :aaa, 'opt a', :argument => :optional do |value| $stdout.puts "#{name}:#{value}" @@ -46,11 +55,11 @@ end super_cmd.define_command do name 'sub' aliases 'sup' - usage 'does something subby' + usage 'sub [options]' summary 'does subby stuff' description 'This command does subby stuff.' option :m, :mmm, 'opt m', :argument => :optional required :n, :nnn, 'opt n' @@ -197,9 +206,19 @@ nested_cmd.run(%w( -a 666 sub )) end assert_equal [ 'super:666', 'Sub-awesome!', '', 'aaa=666' ], lines(out) assert_equal [ ], lines(err) + end + + def test_help_nested + help = nested_cmd.subcommands.to_a[0].help + + assert_match /^usage: super sub \[options\]/, help + end + + def test_help_for_bare_cmd + bare_cmd.help end def test_modify cmd = Cri::Command.define do name 'build'