Sha256: 7fa98f10bec680bb1e4e8b5720866fc5b1c82d48dfb2da5d6339542784c32416

Contents?: true

Size: 1.85 KB

Versions: 4

Compression:

Stored size: 1.85 KB

Contents

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

describe ::Inch::CLI::Command::Stats do
  before do
    Dir.chdir fixture_path(:ruby, :simple)
    @command = ::Inch::CLI::Command::Stats
  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 run without args' do
    out, err = capture_io do
      @command.run
    end
    refute out.empty?, 'there should be some output'
    assert err.empty?, 'there should be no errors'
  end

  it 'should run with filelist in args' do
    out, err = capture_io do
      @command.run('lib/**/*.rb', 'app/**/*.rb')
    end
    refute out.empty?, 'there should be some output'
    assert err.empty?, 'there should be no errors'
  end

  it 'should run even with non-existing filelist in args' do
    out, err = capture_io do
      @command.run('app/**/*.rb')
    end
    refute out.empty?, 'there should be some output'
    assert err.empty?, 'there should be no errors'
  end

  it 'should output info when run with --format=json' do
    out, err = capture_io do
      @command.run('--format=json')
    end
    refute out.empty?, 'there should be some output'
    assert err.empty?, "there should be no errors: #{err.color(:yellow)}"
  end

  it 'should output info when run with --format=yaml' do
    out, err = capture_io do
      @command.run('--format=yaml')
    end
    refute out.empty?, 'there should be some output'
    assert err.empty?, "there should be no errors: #{err.color(:yellow)}"
  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.+stats/, out)
    assert err.empty?, 'there should be no errors'
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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