Sha256: f05df9c8b67411db26301025ac295ae0999cc83935216d726a983d259b873242

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Rubocop::Cop::RSpecInstanceVariable do
  subject(:cop) { described_class.new }

  it 'finds an instance variable inside a describe' do
    inspect_source(cop, ['describe MyClass do',
                         '  before { @foo = [] }',
                         '  it { expect(@foo).to be_emtpy }',
                         'end'])
    expect(cop.offenses.size).to eq(1)
    expect(cop.offenses.map(&:line).sort).to eq([3])
    expect(cop.messages).to eq(['Use `let` instead of an instance variable'])
  end

  it 'finds an instance variable inside a shared example' do
    inspect_source(cop, ["shared_examples 'shared example' do",
                         '  it { expect(@foo).to be_emtpy }',
                         'end'])
    expect(cop.offenses.size).to eq(1)
    expect(cop.offenses.map(&:line).sort).to eq([2])
    expect(cop.messages).to eq(['Use `let` instead of an instance variable'])
  end

  it 'ignores an instance variable without describe' do
    inspect_source(cop, ['@foo = []',
                         '@foo.empty?'])
    expect(cop.offenses).to be_empty
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubocop-rspec-1.0.rc2 spec/rubocop/cop/rspec_instance_variable_spec.rb
rubocop-rspec-1.0.rc1 spec/rubocop/cop/rspec_instance_variable_spec.rb