Sha256: 675bbf8a75336aed6d85af95b3a1ba0912d492f8e4528920a041c818200efcca

Contents?: true

Size: 1.34 KB

Versions: 4

Compression:

Stored size: 1.34 KB

Contents

RSpec.describe RuboCop::Cop::RSpec::ExampleLength, :config do
  subject(:cop) { described_class.new(config) }

  let(:cop_config) { { 'Max' => 3 } }

  it 'ignores non-spec blocks' do
    expect_no_violations(<<-RUBY)
      foo do
        line 1
        line 2
        line 3
        line 4
      end
    RUBY
  end

  it 'allows an empty example' do
    expect_no_violations(<<-RUBY)
      it do
      end
    RUBY
  end

  it 'allows a short example' do
    expect_no_violations(<<-RUBY)
      it do
        line 1
        line 2
        line 3
      end
    RUBY
  end

  it 'ignores comments' do
    expect_no_violations(<<-RUBY)
      it do
        line 1
        line 2
        # comment
        line 3
      end
    RUBY
  end

  context 'when inspecting large examples' do
    it 'flags the example' do
      expect_violation(<<-RUBY)
        it do
        ^^^^^ Example has too many lines [4/3].
          line 1
          line 2
          line 3
          line 4
        end
      RUBY
    end
  end

  context 'with CountComments enabled' do
    let(:cop_config) do
      { 'Max' => 3, 'CountComments' => true }
    end

    it 'flags the example' do
      expect_violation(<<-RUBY)
        it do
        ^^^^^ Example has too many lines [4/3].
          line 1
          line 2
          # comment
          line 3
        end
      RUBY
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubocop-rspec-1.15.1 spec/rubocop/cop/rspec/example_length_spec.rb
rubocop-rspec-1.15.0 spec/rubocop/cop/rspec/example_length_spec.rb
rubocop-rspec-1.14.0 spec/rubocop/cop/rspec/example_length_spec.rb
rubocop-rspec-1.13.0 spec/rubocop/cop/rspec/example_length_spec.rb