Sha256: 4785dcba0ee5337dfa6c1517f59a01f4e026385d59e5e7c05bc1232fcec733a4

Contents?: true

Size: 1.7 KB

Versions: 13

Compression:

Stored size: 1.7 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe RuboCop::Cop::Corrector do
  describe '#rewrite' do
    it 'allows removal of a range' do
      source = 'true and false'
      processed_source = parse_source(source)

      correction = lambda do |corrector|
        node = processed_source.ast
        corrector.remove(node.loc.operator)
      end

      corrector = described_class.new(processed_source.buffer, [correction])
      expect(corrector.rewrite).to eq 'true  false'
    end

    it 'allows insertion before a source range' do
      source = 'true and false'
      processed_source = parse_source(source)

      correction = lambda do |corrector|
        node = processed_source.ast
        corrector.insert_before(node.loc.operator, ';nil ')
      end

      corrector = described_class.new(processed_source.buffer, [correction])
      expect(corrector.rewrite).to eq 'true ;nil and false'
    end

    it 'allows insertion after a source range' do
      source = 'true and false'
      processed_source = parse_source(source)

      correction = lambda do |corrector|
        node = processed_source.ast
        corrector.insert_after(node.loc.operator, ' nil;')
      end

      corrector = described_class.new(processed_source.buffer, [correction])
      expect(corrector.rewrite).to eq 'true and nil; false'
    end

    it 'allows replacement of a range' do
      source = 'true and false'
      processed_source = parse_source(source)

      correction = lambda do |corrector|
        node = processed_source.ast
        corrector.replace(node.loc.operator, 'or')
      end

      corrector = described_class.new(processed_source.buffer, [correction])
      expect(corrector.rewrite).to eq 'true or false'
    end
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

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