Sha256: 21e466159d60a0de49c91059099e6567d2a09a38db0eee307772e4ab0f761528

Contents?: true

Size: 1.4 KB

Versions: 7

Compression:

Stored size: 1.4 KB

Contents

# encoding: utf-8

require 'spec_helper'

module Rubocop
  module Cop
    module Style
      describe ParameterLists do
        let(:list) { ParameterLists.new }
        before do
          ParameterLists.config = {
            'Max' => 4,
            'CountKeywordArgs' => true
          }
        end

        it 'registers an offence for a method def with 5 parameters' do
          inspect_source(list, ['def meth(a, b, c, d, e)',
                                'end'])
          expect(list.offences.size).to eq(1)
        end

        it 'accepts a method def with 4 parameters' do
          inspect_source(list, ['def meth(a, b, c, d)',
                                'end'])
          expect(list.offences).to be_empty
        end

        context 'When CountKeywordArgs is true' do
          it 'counts keyword arguments as well', ruby: 2.0 do
            inspect_source(list, ['def meth(a, b, c, d: 1, e: 2)',
                                  'end'])
            expect(list.offences.size).to eq(1)
          end
        end

        context 'When CountKeywordArgs is false' do
          before { ParameterLists.config['CountKeywordArgs'] = false }

          it 'it does not count keyword arguments', ruby: 2.0 do
            inspect_source(list, ['def meth(a, b, c, d: 1, e: 2)',
                                  'end'])
            expect(list.offences).to be_empty
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
rubocop-0.12.0 spec/rubocop/cop/style/parameter_lists_spec.rb
rubocop-0.11.1 spec/rubocop/cop/style/parameter_lists_spec.rb
rubocop-0.11.0 spec/rubocop/cops/style/parameter_lists_spec.rb
rubocop-0.10.0 spec/rubocop/cops/style/parameter_lists_spec.rb
rubocop-0.9.1 spec/rubocop/cops/style/parameter_lists_spec.rb
sabat-rubocop-0.9.0 spec/rubocop/cops/style/parameter_lists_spec.rb
rubocop-0.9.0 spec/rubocop/cops/style/parameter_lists_spec.rb