Sha256: 509b8b6e6d6b3b37d1a4b5900178ed15674365c5332730e4d9f82d444c758ae9
Contents?: true
Size: 1.47 KB
Versions: 4
Compression:
Stored size: 1.47 KB
Contents
require 'helper' module Cri class BasicHelpTestCase < Cri::TestCase def test_run_without_supercommand cmd = Cri::Command.new_basic_help assert_raises Cri::NoHelpAvailableError do cmd.run([]) end end def test_run_with_supercommand cmd = Cri::Command.define do name 'meh' end help_cmd = Cri::Command.new_basic_help cmd.add_command(help_cmd) help_cmd.run([]) end def test_run_with_chain_of_commands cmd = Cri::Command.define do name 'root' summary 'I am root!' subcommand do name 'foo' summary 'I am foo!' subcommand do name 'subsubby' summary 'I am subsubby!' end end end help_cmd = Cri::Command.new_basic_help cmd.add_command(help_cmd) # Simple call stdout, stderr = capture_io_while do help_cmd.run(['foo']) end assert_match(/I am foo!/m, stdout) assert_equal('', stderr) # Subcommand stdout, stderr = capture_io_while do help_cmd.run(%w[foo subsubby]) end assert_match(/I am subsubby!/m, stdout) assert_equal('', stderr) # Non-existing subcommand stdout, stderr = capture_io_while do assert_raises SystemExit do help_cmd.run(%w[foo mysterycmd]) end end assert_equal '', stdout assert_match(/foo: unknown command 'mysterycmd'/, stderr) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cri-2.10.1 | test/test_basic_help.rb |
cri-2.10.0 | test/test_basic_help.rb |
cri-2.9.1 | test/test_basic_help.rb |
cri-2.9.0 | test/test_basic_help.rb |