Sha256: 86623a24059773ecae487fcd8e071d8916c0e5668e166fbdfba0d815f5d1a326

Contents?: true

Size: 1.69 KB

Versions: 11

Compression:

Stored size: 1.69 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe RuboCop::Cop::Style::MethodCalledOnDoEndBlock do
  subject(:cop) { described_class.new }

  context 'with a multi-line do..end block' do
    it 'registers an offense for a chained call' do
      inspect_source(cop, ['a do',
                           '  b',
                           'end.c'])
      expect(cop.offenses.size).to eq(1)
      expect(cop.highlights).to eq(['end.c'])
    end

    it 'accepts it if there is no chained call' do
      inspect_source(cop, ['a do',
                           '  b',
                           'end'])
      expect(cop.offenses).to be_empty
    end

    it 'accepts a chained block' do
      inspect_source(cop, ['a do',
                           '  b',
                           'end.c do',
                           '  d',
                           'end'])
      expect(cop.offenses).to be_empty
    end
  end

  context 'with a single-line do..end block' do
    it 'registers an offense for a chained call' do
      inspect_source(cop, ['a do b end.c'])
      expect(cop.offenses.size).to eq(1)
      expect(cop.highlights).to eq(['end.c'])
    end

    it 'accepts a single-line do..end block with a chained block' do
      inspect_source(cop, ['a do b end.c do d end'])
      expect(cop.offenses).to be_empty
    end
  end

  context 'with a {} block' do
    it 'accepts a multi-line block with a chained call' do
      inspect_source(cop, ['a {',
                           '  b',
                           '}.c'])
      expect(cop.offenses).to be_empty
    end

    it 'accepts a single-line block with a chained call' do
      inspect_source(cop, ['a { b }.c'])
      expect(cop.offenses).to be_empty
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
rubyjobbuilderdsl-0.0.2 vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubyjobbuilderdsl-0.0.1 vendor/bundle/ruby/2.1.0/gems/rubocop-0.26.0/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.28.0 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.27.1 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.27.0 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.26.1 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.26.0 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.25.0 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.24.1 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.24.0 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
rubocop-0.23.0 spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb