Merge pull request #2795 from issyl0/desc_no_full_stops
formula_desc_cop: ensure no full stops at the end of desc
This commit is contained in:
		
						commit
						215f49684b
					
				@ -40,6 +40,7 @@ module RuboCop
 | 
			
		||||
      # - Checks for correct usage of `command-line` in `desc`
 | 
			
		||||
      # - Checks description starts with a capital letter
 | 
			
		||||
      # - Checks if `desc` contains the formula name
 | 
			
		||||
      # - Checks if `desc` ends with a full stop
 | 
			
		||||
      class Desc < FormulaCop
 | 
			
		||||
        VALID_LOWERCASE_WORDS = %w[
 | 
			
		||||
          ex
 | 
			
		||||
@ -78,8 +79,13 @@ module RuboCop
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          # Check if formula's desc starts with formula's name
 | 
			
		||||
          return unless regex_match_group(desc, /^#{@formula_name} /i)
 | 
			
		||||
          problem "Description shouldn't start with the formula name"
 | 
			
		||||
          if regex_match_group(desc, /^#{@formula_name} /i)
 | 
			
		||||
            problem "Description shouldn't start with the formula name"
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          # Check if a full stop is used at the end of a formula's desc
 | 
			
		||||
          return unless regex_match_group(desc, /\.$/)
 | 
			
		||||
          problem "Description shouldn't end with a full stop"
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        private
 | 
			
		||||
@ -97,6 +103,7 @@ module RuboCop
 | 
			
		||||
            correction.gsub!(/(^|[^a-z])#{@formula_name}([^a-z]|$)/i, "\\1\\2")
 | 
			
		||||
            correction.gsub!(/^(['"]?)\s+/, "\\1")
 | 
			
		||||
            correction.gsub!(/\s+(['"]?)$/, "\\1")
 | 
			
		||||
            correction.gsub!(/\.$/, "")
 | 
			
		||||
            corrector.insert_before(node.source_range, correction)
 | 
			
		||||
            corrector.remove(node.source_range)
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
@ -91,6 +91,16 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do
 | 
			
		||||
      RUBY
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it "When the description ends with a full stop" do
 | 
			
		||||
      expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb")
 | 
			
		||||
        class Foo < Formula
 | 
			
		||||
          url 'http://example.com/foo-1.0.tgz'
 | 
			
		||||
          desc 'Description with a full stop at the end.'
 | 
			
		||||
                                                       ^ Description shouldn\'t end with a full stop
 | 
			
		||||
        end
 | 
			
		||||
      RUBY
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it "autocorrects all rules" do
 | 
			
		||||
      source = <<~EOS
 | 
			
		||||
        class Foo < Formula
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user