Sha256: 6fba8d60ba74a03902fabb8aa9176c92986d578c8d2d7537b92e0ef574897a12

Contents?: true

Size: 1.79 KB

Versions: 4

Compression:

Stored size: 1.79 KB

Contents

# encoding: utf-8

require 'spec_helper'

module Rubocop
  module Cop
    module Style
      describe WhileUntilDo do
        let(:cop) { WhileUntilDo.new }

        it 'registers an offence for do in multiline while' do
          inspect_source(cop, ['while cond do',
                               'end'])
          expect(cop.offences.size).to eq(1)
        end

        it 'registers an offence for do in multiline until' do
          inspect_source(cop, ['until cond do',
                               'end'])
          expect(cop.offences.size).to eq(1)
        end

        it 'accepts do in single-line while' do
          inspect_source(cop, ['while cond do something end'])
          expect(cop.offences).to be_empty
        end

        it 'accepts do in single-line until' do
          inspect_source(cop, ['until cond do something end'])
          expect(cop.offences).to be_empty
        end

        it 'it accepts multi-line while without do' do
          inspect_source(cop, ['while cond',
                               'end'])
          expect(cop.offences).to be_empty
        end

        it 'it accepts multi-line until without do' do
          inspect_source(cop, ['until cond',
                               'end'])
          expect(cop.offences).to be_empty
        end

        it 'auto-corrects the usage of "do" in multiline while' do
          new_source = autocorrect_source(cop, ['while cond do',
                                                'end'])
          expect(new_source).to eq("while cond \nend")
        end

        it 'auto-corrects the usage of "do" in multiline until' do
          new_source = autocorrect_source(cop, ['until cond do',
                                                'end'])
          expect(new_source).to eq("until cond \nend")
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubocop-0.12.0 spec/rubocop/cop/style/while_until_do_spec.rb
rubocop-0.11.1 spec/rubocop/cop/style/while_until_do_spec.rb
rubocop-0.11.0 spec/rubocop/cops/style/while_until_do_spec.rb
rubocop-0.10.0 spec/rubocop/cops/style/while_until_do_spec.rb