Check for descriptions starting with “the”.
This commit is contained in:
		
							parent
							
								
									21d4c1ffc7
								
							
						
					
					
						commit
						9a48568226
					
				@ -49,10 +49,8 @@ module RuboCop
 | 
				
			|||||||
          problem "Description should use \"#{c}ommand-line\" instead of \"#{match}\"."
 | 
					          problem "Description should use \"#{c}ommand-line\" instead of \"#{match}\"."
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Check if the desc starts with "A" or "An".
 | 
					        # Check if the desc starts with an article.
 | 
				
			||||||
        if match = regex_match_group(desc, /^(an?)(?=\s)/i)
 | 
					        problem "Description shouldn't start with an article." if regex_match_group(desc, /^(the|an?)(?=\s)/i)
 | 
				
			||||||
          problem "Description shouldn't start with an indefinite article, i.e. \"#{match}\"."
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Check if invalid lowercase words are at the start of a desc.
 | 
					        # Check if invalid lowercase words are at the start of a desc.
 | 
				
			||||||
        if !VALID_LOWERCASE_WORDS.include?(string_content(desc).split.first) &&
 | 
					        if !VALID_LOWERCASE_WORDS.include?(string_content(desc).split.first) &&
 | 
				
			||||||
@ -91,7 +89,7 @@ module RuboCop
 | 
				
			|||||||
          correction.gsub!(/^\s+/, "")
 | 
					          correction.gsub!(/^\s+/, "")
 | 
				
			||||||
          correction.gsub!(/\s+$/, "")
 | 
					          correction.gsub!(/\s+$/, "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          correction.sub!(/^an?\s+/i, "")
 | 
					          correction.sub!(/^(the|an?)\s+/i, "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          first_word = correction.split.first
 | 
					          first_word = correction.split.first
 | 
				
			||||||
          unless VALID_LOWERCASE_WORDS.include?(first_word)
 | 
					          unless VALID_LOWERCASE_WORDS.include?(first_word)
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,7 @@ require "test/rubocops/cask/shared_examples/cask_cop"
 | 
				
			|||||||
describe RuboCop::Cop::Cask::Desc do
 | 
					describe RuboCop::Cop::Cask::Desc do
 | 
				
			||||||
  subject(:cop) { described_class.new }
 | 
					  subject(:cop) { described_class.new }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it "does not start with an indefinite article" do
 | 
					  it "does not start with an article" do
 | 
				
			||||||
    expect_no_offenses <<~RUBY
 | 
					    expect_no_offenses <<~RUBY
 | 
				
			||||||
      cask "foo" do
 | 
					      cask "foo" do
 | 
				
			||||||
        desc "Bar program"
 | 
					        desc "Bar program"
 | 
				
			||||||
@ -16,7 +16,14 @@ describe RuboCop::Cop::Cask::Desc do
 | 
				
			|||||||
    expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
 | 
					    expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
 | 
				
			||||||
      cask 'foo' do
 | 
					      cask 'foo' do
 | 
				
			||||||
        desc 'A bar program'
 | 
					        desc 'A bar program'
 | 
				
			||||||
              ^ Description shouldn\'t start with an indefinite article, i.e. \"A\".
 | 
					              ^ Description shouldn\'t start with an article.
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    RUBY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
 | 
				
			||||||
 | 
					      cask 'foo' do
 | 
				
			||||||
 | 
					        desc 'The bar program'
 | 
				
			||||||
 | 
					              ^^^ Description shouldn\'t start with an article.
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    RUBY
 | 
					    RUBY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -84,7 +84,15 @@ describe RuboCop::Cop::FormulaAudit::Desc do
 | 
				
			|||||||
        class Foo < Formula
 | 
					        class Foo < Formula
 | 
				
			||||||
          url 'https://brew.sh/foo-1.0.tgz'
 | 
					          url 'https://brew.sh/foo-1.0.tgz'
 | 
				
			||||||
          desc 'An aardvark'
 | 
					          desc 'An aardvark'
 | 
				
			||||||
                ^^ Description shouldn\'t start with an indefinite article, i.e. \"An\".
 | 
					                ^^ Description shouldn\'t start with an article.
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					      RUBY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb")
 | 
				
			||||||
 | 
					        class Foo < Formula
 | 
				
			||||||
 | 
					          url 'https://brew.sh/foo-1.0.tgz'
 | 
				
			||||||
 | 
					          desc 'The aardvark'
 | 
				
			||||||
 | 
					                ^^^ Description shouldn\'t start with an article.
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      RUBY
 | 
					      RUBY
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user