Sha256: 44ff281ad7ae08c0e59a8878e92316390e17e857e427324a2206b19bf6313f21

Contents?: true

Size: 1.75 KB

Versions: 4

Compression:

Stored size: 1.75 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')

class Inch::CLI::Command::Output::Console
  def run_pry
    nil
  end
end

describe ::Inch::CLI::Command::Console do
  before do
    Dir.chdir fixture_path(:ruby, :simple)
    @command = ::Inch::CLI::Command::Console
  end

  it 'should run with exit status' do
    _out, _err = capture_io do
      assert_equal @command.run.exit_status, @command::EXIT_STATUS_SUCCESS
    end
  end

  it 'should output info when run with --help' do
    out, err = capture_io do
      assert_raises(SystemExit) { @command.run('--help') }
    end
    refute out.empty?, 'there should be some output'
    assert_match(/\bUsage\b.+console/, out)
    assert err.empty?, 'there should be no errors'
  end

  it 'should run without args' do
    _out, _err = capture_io do
      @prompt = @command.new.run
    end
    assert @prompt.respond_to?(:all)
    assert @prompt.respond_to?(:ff)
    assert @prompt.respond_to?(:f)
    assert @prompt.respond_to?(:o)
    assert @prompt.o.nil?
    assert @prompt.objects.empty?
  end

  it 'should run with a definitive object name' do
    _out, _err = capture_io do
      @prompt = @command.new.run('Foo::Bar#method_with_full_doc')
    end
    assert !@prompt.all.empty?
    assert !@prompt.ff('Foo::Bar#').empty?
    assert !@prompt.f('Foo::Bar').nil?
    assert !@prompt.o.nil?
    refute @prompt.o.nil?
    assert_equal 1, @prompt.objects.size
  end

  it 'should run with a partial name' do
    _out, _err = capture_io do
      @prompt = @command.new.run('Foo::Bar#')
    end
    assert @prompt.respond_to?(:all)
    assert @prompt.respond_to?(:ff)
    assert @prompt.respond_to?(:f)
    assert @prompt.respond_to?(:o)
    refute @prompt.o.nil?
    assert @prompt.objects.size > 1
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
inch-0.9.0.rc1 test/integration/cli/command/console_test.rb
inch-0.8.0 test/integration/cli/command/console_test.rb
inch-0.8.0.rc2 test/integration/cli/command/console_test.rb
inch-0.8.0.rc1 test/integration/cli/command/console_test.rb