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