spec/rubocop/cop/rspec/example_wording_spec.rb in rubocop-rspec-1.1.0 vs spec/rubocop/cop/rspec/example_wording_spec.rb in rubocop-rspec-1.2.0

- old
+ new

@@ -1,23 +1,60 @@ # encoding: utf-8 require 'spec_helper' -describe RuboCop::Cop::RSpec::ExampleWording do - subject(:cop) { described_class.new } +describe RuboCop::Cop::RSpec::ExampleWording, :config do + subject(:cop) { described_class.new(config) } + let(:cop_config) do + { + 'CustomTransform' => { 'have' => 'has', 'not' => 'does not' }, + 'IgnoredWords' => %w(only realy) + } + end it 'finds description with `should` at the beginning' do inspect_source(cop, ["it 'should do something' do", 'end']) expect(cop.offenses.size).to eq(1) expect(cop.offenses.map(&:line).sort).to eq([1]) expect(cop.messages) .to eq(['Do not use should when describing your tests.']) - expect(cop.highlights).to eq(['it']) + expect(cop.highlights).to eq(['should do something']) end + it 'finds description with `shouldn\'t` at the beginning' do + inspect_source(cop, ['it "shouldn\'t do something" do', 'end']) + expect(cop.offenses.size).to eq(1) + expect(cop.offenses.map(&:line).sort).to eq([1]) + expect(cop.messages) + .to eq(['Do not use should when describing your tests.']) + expect(cop.highlights).to eq(['shouldn\'t do something']) + end + it 'skips descriptions without `should` at the beginning' do inspect_source(cop, ["it 'finds no should ' \\", " 'here' do", 'end']) expect(cop.offenses).to be_empty + end + + { + 'should return something' => 'returns something', + 'should not return something' => 'does not return something', + 'should do nothing' => 'does nothing', + 'should have sweets' => 'has sweets', + 'should worry about the future' => 'worries about the future', + 'should pay for pizza' => 'pays for pizza', + 'should miss me' => 'misses me', + 'should realy only return one item' => 'realy only returns one item' + }.each do |old, new| + it 'autocorrects an offenses' do + new_source = autocorrect_source(cop, ["it '#{old}' do", 'end']) + expect(new_source).to eq("it '#{new}' do\nend") + end + end + + it "autocorrects shouldn't" do + new_source = + autocorrect_source(cop, 'it "shouldn\'t return something" do; end') + expect(new_source).to eq('it "does not return something" do; end') end end