Sha256: 3d75da01c2393e6ef08eb546c582d54b3444dd5e30e055530d11e0e5d441cb91

Contents?: true

Size: 1.82 KB

Versions: 3

Compression:

Stored size: 1.82 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Rubocop::Cop::Style::GuardClause do
  let(:cop) { described_class.new }

  it 'reports an offense if method body is if without else' do
    src = ['def func',
           '  if something',
           '    work',
           '    work_more',
           '  end',
           'end']
    inspect_source(cop, src)
    expect(cop.offenses.size).to eq(1)
  end

  it 'reports an offense if method body ends with if without else' do
    src = ['def func',
           '  test',
           '  if something',
           '    work',
           '    work_more',
           '  end',
           'end']
    inspect_source(cop, src)
    expect(cop.offenses.size).to eq(1)
  end

  it 'accepts a method which body is if with else' do
    src = ['def func',
           '  if something',
           '    work',
           '    work_more',
           '  else',
           '    test',
           '  end',
           'end']
    inspect_source(cop, src)
    expect(cop.offenses).to be_empty
  end

  it 'accepts a method which body does not end with if' do
    src = ['def func',
           '  if something',
           '    work',
           '    work_more',
           '  end',
           '  test',
           'end']
    inspect_source(cop, src)
    expect(cop.offenses).to be_empty
  end

  it 'accepts a method which body does not end with if' do
    src = ['def func',
           '  if something',
           '    work',
           '    work_more',
           '  end',
           '  test',
           'end']
    inspect_source(cop, src)
    expect(cop.offenses).to be_empty
  end

  it 'accepts a method whose body is an if with a one-line body' do
    src = ['def func',
           '  if something',
           '    work',
           '  end',
           'end']
    inspect_source(cop, src)
    expect(cop.offenses).to be_empty
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubocop-0.21.0 spec/rubocop/cop/style/guard_clause_spec.rb
rubocop-0.20.1 spec/rubocop/cop/style/guard_clause_spec.rb
rubocop-0.20.0 spec/rubocop/cop/style/guard_clause_spec.rb