Sha256: e9ce9b60cd7b0da619a9e580d716a4ea1bba93c879f918561143b03046116e2d

Contents?: true

Size: 915 Bytes

Versions: 3

Compression:

Stored size: 915 Bytes

Contents

require_relative '../../spec_helper'

RSpec.shared_examples_for 'SmellDetector' do
  context 'exception matching follows the context' do
    let(:ctx) { double('context') }

    before { allow(ctx).to receive(:config_for).and_return({}) }

    it 'when false' do
      expect(ctx).to receive(:matches?).at_least(:once).and_return(false)
      expect(detector.exception?(ctx)).to eq(false)
    end

    it 'when true' do
      expect(ctx).to receive(:matches?).at_least(:once).and_return(true)
      expect(detector.exception?(ctx)).to eq(true)
    end
  end
end

RSpec.shared_examples_for 'common fields set correctly' do
  it 'reports the source' do
    expect(warning.source).to eq(source_name)
  end
  it 'reports the smell class' do
    expect(warning.smell_category).to eq(detector.smell_category)
  end
  it 'reports the smell sub class' do
    expect(warning.smell_type).to eq(detector.smell_type)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
reek-3.5.0 spec/reek/smells/smell_detector_shared.rb
reek-3.4.1 spec/reek/smells/smell_detector_shared.rb
reek-3.4.0 spec/reek/smells/smell_detector_shared.rb