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'