spec/rubocop/cop/rspec/example_wording_spec.rb in rubocop-rspec-1.15.0 vs spec/rubocop/cop/rspec/example_wording_spec.rb in rubocop-rspec-1.15.1
- old
+ new
@@ -2,12 +2,12 @@
subject(:cop) { described_class.new(config) }
context 'with configuration' do
let(:cop_config) do
{
- 'CustomTransform' => { 'have' => 'has', 'not' => 'does not' },
- 'IgnoredWords' => %w(only really)
+ 'CustomTransform' => { 'have' => 'has' },
+ 'IgnoredWords' => %w[only really]
}
end
it 'ignores non-example blocks' do
expect_no_violations('foo "should do something" do; end')
@@ -35,10 +35,26 @@
^^^^^^^^^^^^^^^^^^^^^^ Do not use should when describing your tests.
end
RUBY
end
+ it 'flags a lone should' do
+ expect_violation(<<-RUBY)
+ it 'should' do
+ ^^^^^^ Do not use should when describing your tests.
+ end
+ RUBY
+ end
+
+ it 'flags a lone should not' do
+ expect_violation(<<-RUBY)
+ it 'should not' do
+ ^^^^^^^^^^ Do not use should when describing your tests.
+ end
+ RUBY
+ end
+
it 'finds leading its' do
expect_violation(<<-RUBY)
it "it does something" do
^^^^^^^^^^^^^^^^^ Do not repeat 'it' when describing your tests.
end
@@ -57,16 +73,39 @@
it 'finds no should here' do
end
RUBY
end
+ it 'skips descriptions starting with words that begin with `should`' do
+ expect_no_violations(<<-RUBY)
+ it 'shoulders the burden' do
+ end
+ RUBY
+ end
+
include_examples 'autocorrect',
'it "should only have trait" do end',
'it "only has trait" do end'
include_examples 'autocorrect',
+ 'it "SHOULDN\'T only have trait" do end',
+ 'it "DOES NOT only have trait" do end'
+
+ include_examples 'autocorrect',
'it "it does something" do end',
'it "does something" do end'
+
+ include_examples 'autocorrect',
+ 'it "It does something" do end',
+ 'it "does something" do end'
+
+ include_examples 'autocorrect',
+ 'it "should" do end',
+ 'it "" do end'
+
+ include_examples 'autocorrect',
+ 'it "should not" do end',
+ 'it "does not" do end'
end
context 'when configuration is empty' do
include_examples 'autocorrect',
'it "should have trait" do end',