Sha256: 02a1aaf7d797b24ff6fc4761ccd1c0f561ef518f122563082ffd7badda9be37e
Contents?: true
Size: 1.5 KB
Versions: 17
Compression:
Stored size: 1.5 KB
Contents
# frozen_string_literal: true 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
17 entries across 17 versions & 1 rubygems