Sha256: 9111fbda189f8c0ab99377efc28ff6ec16e7aefb33ed2a22648afd101b55cd13

Contents?: true

Size: 1.44 KB

Versions: 30

Compression:

Stored size: 1.44 KB

Contents

require_relative '../../spec_helper'
require_lib 'reek/cli/options'

RSpec.describe Reek::CLI::Options do
  let(:options) { described_class.new }

  describe '#initialize' do
    it 'sets a valid default value for report_format' do
      expect(options.report_format).to eq :text
    end

    it 'sets a valid default value for location_format' do
      expect(options.location_format).to eq :numbers
    end

    it 'enables colors when stdout is a TTY' do
      allow($stdout).to receive_messages(tty?: true)
      expect(options.colored).to be true
    end

    it 'does not enable colors when stdout is not a TTY' do
      allow($stdout).to receive_messages(tty?: false)
      expect(options.colored).to be false
    end

    it 'enables progress when stdout is a TTY' do
      allow($stdout).to receive_messages(tty?: true)
      expect(options.progress_format).to eq :dots
    end

    it 'does not enable progress when stdout is not a TTY' do
      allow($stdout).to receive_messages(tty?: false)
      expect(options.progress_format).to eq :quiet
    end

    it 'sets force_exclusion to false by default' do
      expect(options.force_exclusion?).to be false
    end
  end

  describe 'parse' do
    it 'raises on invalid argument in ARGV' do
      options = described_class.new ['-z']
      expect { options.parse }.to raise_error(OptionParser::InvalidOption)
    end

    it 'returns self' do
      expect(options.parse).to be_a(described_class)
    end
  end
end

Version data entries

30 entries across 28 versions & 2 rubygems

Version Path
reek-6.0.3 spec/reek/cli/options_spec.rb
reek-6.0.2 spec/reek/cli/options_spec.rb
reek-6.0.1 spec/reek/cli/options_spec.rb
reek-6.0.0 spec/reek/cli/options_spec.rb
reek-5.6.0 spec/reek/cli/options_spec.rb
reek-5.5.0 spec/reek/cli/options_spec.rb
reek-5.4.1 spec/reek/cli/options_spec.rb
reek-5.4.0 spec/reek/cli/options_spec.rb
reek-5.3.2 spec/reek/cli/options_spec.rb
reek-5.3.1 spec/reek/cli/options_spec.rb
reek-5.3.0 spec/reek/cli/options_spec.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/reek-5.2.0/spec/reek/cli/options_spec.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/reek-5.2.0/spec/reek/cli/options_spec.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/reek-5.2.0/spec/reek/cli/options_spec.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/reek-5.2.0/spec/reek/cli/options_spec.rb
reek-5.2.0 spec/reek/cli/options_spec.rb
reek-5.1.0 spec/reek/cli/options_spec.rb
reek-5.0.2 spec/reek/cli/options_spec.rb
reek-5.0.1 spec/reek/cli/options_spec.rb
reek-5.0.0 spec/reek/cli/options_spec.rb