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',