Sha256: ac90add9ee8b3758a1ffb4dd1466c2c9fc5e65a9660ddc6bc6fd967fd85ae21f

Contents?: true

Size: 1.69 KB

Versions: 2

Compression:

Stored size: 1.69 KB

Contents

# encoding: utf-8

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

  context 'when EnforcedStyle is `not_to`' do
    let(:cop_config) { { 'EnforcedStyle' => 'not_to' } }

    it 'detects the `to_not` offense' do
      inspect_source(subject, 'it { expect(false).to_not be_true }')

      expect(subject.messages).to eq(['Prefer `not_to` over `to_not`'])
      expect(subject.highlights).to eq(['expect(false).to_not be_true'])
      expect(subject.offenses.map(&:line).sort).to eq([1])
    end

    it 'detects no offense when using `not_to`' do
      inspect_source(subject, 'it { expect(false).not_to be_true }')

      expect(subject.messages).to be_empty
    end

    it 'auto-corrects `to_not` to `not_to`' do
      corrected = autocorrect_source(cop, ['it { expect(0).to_not equal 1 }'])
      expect(corrected).to eq 'it { expect(0).not_to equal 1 }'
    end
  end

  context 'when AcceptedMethod is `to_not`' do
    let(:cop_config) { { 'EnforcedStyle' => 'to_not' } }

    it 'detects the `not_to` offense' do
      inspect_source(subject, 'it { expect(false).not_to be_true }')

      expect(subject.messages).to eq(['Prefer `to_not` over `not_to`'])
      expect(subject.highlights).to eq(['expect(false).not_to be_true'])
      expect(subject.offenses.map(&:line).sort).to eq([1])
    end

    it 'detects no offense when using `to_not`' do
      inspect_source(subject, 'it { expect(false).to_not be_true }')

      expect(subject.messages).to be_empty
    end

    it 'auto-corrects `not_to` to `to_not`' do
      corrected = autocorrect_source(cop, ['it { expect(0).not_to equal 1 }'])
      expect(corrected).to eq 'it { expect(0).to_not equal 1 }'
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubocop-rspec-1.5.1 spec/rubocop/cop/rspec/not_to_not_spec.rb
rubocop-rspec-1.5.0 spec/rubocop/cop/rspec/not_to_not_spec.rb