Sha256: 1e3e40a219e66b79ec0e1a6b8e11d2e6cce7f8bad5f82b5e2bace23622b94b2d

Contents?: true

Size: 1.1 KB

Versions: 9

Compression:

Stored size: 1.1 KB

Contents

require File.dirname(__FILE__) + '/../spec_helper.rb'

require 'reek/smells/smell_detector'
require 'reek/report'
require 'reek/source'
require 'reek/smells/feature_envy'

include Reek

describe Report, " when empty" do
  before(:each) do
    @rpt = Report.new
  end

  it 'should have zero length' do
    @rpt.length.should == 0
  end

  it 'should claim to be empty' do
    @rpt.should be_empty
  end
end

describe Report, "to_s" do
  before(:each) do
    rpt = Source.from_s('def simple(a) a[3] end').report
    @report = rpt.to_s.split("\n")
  end

  it 'should place each detailed report on a separate line' do
    @report.should have_at_least(2).lines
  end

  it 'should mention every smell name' do
    @report[0].should match(/[Utility Function]/)
    @report[1].should match(/[Feature Envy]/)
  end
end

describe Report, " as a SortedSet" do
  it 'should only add a smell once' do
    rpt = Report.new
    rpt << SmellWarning.new(Smells::FeatureEnvy.new, "self", 'too many!')
    rpt.length.should == 1
    rpt << SmellWarning.new(Smells::FeatureEnvy.new, "self", 'too many!')
    rpt.length.should == 1
  end
end

Version data entries

9 entries across 9 versions & 3 rubygems

Version Path
kevinrutherford-reek-1.1.1 spec/reek/report_spec.rb
kevinrutherford-reek-1.1.2.1 spec/reek/report_spec.rb
kevinrutherford-reek-1.1.2 spec/reek/report_spec.rb
kevinrutherford-reek-1.1.3.1 spec/reek/report_spec.rb
kevinrutherford-reek-1.1.3.2 spec/reek/report_spec.rb
kevinrutherford-reek-1.1.3 spec/reek/report_spec.rb
teksymmetry-reek-1.1.3.1 spec/reek/report_spec.rb
teksymmetry-reek-1.1.3.2 spec/reek/report_spec.rb
reek-1.1.3 spec/reek/report_spec.rb