Sha256: 46d2f2780d177bb1883d0700bd282169ae7eb81515742e25284b30fec0320da4

Contents?: true

Size: 1.63 KB

Versions: 4

Compression:

Stored size: 1.63 KB

Contents

# encoding: utf-8

require 'spec_helper'

module Rubocop
  module Cop
    describe FavorUntilOverNegatedWhile do
      let(:fav_until) { FavorUntilOverNegatedWhile.new }

      it 'registers an offence for while with exclamation point condition' do
        inspect_source(fav_until,
                       ['while !a_condition',
                        '  some_method',
                        'end',
                        'some_method while !a_condition',
                       ])
        expect(fav_until.offences.map(&:message)).to eq(
          ['Favor until over while for negative conditions.'] * 2)
      end

      it 'registers an offence for while with "not" condition' do
        inspect_source(fav_until,
                       ['while (not a_condition)',
                        '  some_method',
                        'end',
                        'some_method while not a_condition'])
        expect(fav_until.offences.map(&:message)).to eq(
          ['Favor until over while for negative conditions.'] * 2)
        expect(fav_until.offences.map(&:line_number)).to eq([1, 4])
      end

      it 'accepts an while where only part of the contition is negated' do
        inspect_source(fav_until,
                       ['while !a_condition && another_condition',
                        '  some_method',
                        'end',
                        'while not a_condition or another_condition',
                        '  some_method',
                        'end',
                        'some_method while not a_condition or other_cond'])
        expect(fav_until.offences.map(&:message)).to be_empty
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubocop-0.8.3 spec/rubocop/cops/favor_until_over_negated_while_spec.rb
rubocop-0.8.2 spec/rubocop/cops/favor_until_over_negated_while_spec.rb
rubocop-0.8.1 spec/rubocop/cops/favor_until_over_negated_while_spec.rb
rubocop-0.8.0 spec/rubocop/cops/favor_until_over_negated_while_spec.rb