Sha256: 6cd5fef3f03b2b6c1a3a940858aca7db414d3966fb162e5cc38c80e20aa390ee

Contents?: true

Size: 1.09 KB

Versions: 6

Compression:

Stored size: 1.09 KB

Contents

# encoding: utf-8

describe RuboCop::Cop::RSpec::InstanceVariable 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_empty }',
                         '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_empty }',
                         '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

6 entries across 6 versions & 1 rubygems

Version Path
rubocop-rspec-1.4.1 spec/rubocop/cop/rspec/instance_variable_spec.rb
rubocop-rspec-1.4.0 spec/rubocop/cop/rspec/instance_variable_spec.rb
rubocop-rspec-1.3.1 spec/rubocop/cop/rspec/instance_variable_spec.rb
rubocop-rspec-1.3.0 spec/rubocop/cop/rspec/instance_variable_spec.rb
rubocop-rspec-1.2.2 spec/rubocop/cop/rspec/instance_variable_spec.rb
rubocop-rspec-1.2.1 spec/rubocop/cop/rspec/instance_variable_spec.rb