spec/reek/smells/nil_check_spec.rb in reek-2.0.0 vs spec/reek/smells/nil_check_spec.rb in reek-2.0.1

- old
+ new

@@ -1,78 +1,76 @@ require 'spec_helper' +require 'reek/core/code_context' require 'reek/smells/nil_check' require 'reek/smells/smell_detector_shared' -include Reek -include Reek::Smells - -describe NilCheck do +describe Reek::Smells::NilCheck do context 'for methods' do it 'reports the correct line number' do src = <<-EOS def nilcheck foo foo.nil? end EOS - ctx = CodeContext.new(nil, src.to_reek_source.syntax_tree) - detector = NilCheck.new('source_name') + ctx = Reek::Core::CodeContext.new(nil, src.to_reek_source.syntax_tree) + detector = build(:smell_detector, smell_type: :NilCheck, source: 'source_name') smells = detector.examine_context(ctx) expect(smells[0].lines).to eq [2] end it 'reports nothing when scope includes no nil checks' do - expect('def no_nils; end').not_to reek_of(NilCheck) + expect('def no_nils; end').not_to reek_of(:NilCheck) end it 'reports when scope uses multiple nil? methods' do - src = <<-eos + src = <<-EOS def chk_multi_nil(para) para.nil? puts "Hello" \"\".nil? end - eos - expect(src).to reek_of(NilCheck) + EOS + expect(src).to reek_of(:NilCheck) end it 'reports twice when scope uses == nil and === nil' do - src = <<-eos + src = <<-EOS def chk_eq_nil(para) para == nil para === nil end - eos - expect(src).to reek_of(NilCheck) + EOS + expect(src).to reek_of(:NilCheck) end it 'reports when scope uses nil ==' do - expect('def chk_eq_nil_rev(para); nil == para; end').to reek_of(NilCheck) + expect('def chk_eq_nil_rev(para); nil == para; end').to reek_of(:NilCheck) end it 'reports when scope uses multiple case-clauses checking nil' do - src = <<-eos + src = <<-EOS def case_nil case @inst_var when nil then puts "Nil" end puts "Hello" case @inst_var2 when 1 then puts 1 when nil then puts nil.inspect end end - eos - expect(src).to reek_of(NilCheck) + EOS + expect(src).to reek_of(:NilCheck) end it 'reports a when clause that checks nil and other values' do - src = <<-eos + src = <<-EOS def case_nil case @inst_var when nil, false then puts "Hello" end end - eos - expect(src).to reek_of(NilCheck) + EOS + expect(src).to reek_of(:NilCheck) end end end