aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/rubocops/formula_desc_cop.rb8
-rw-r--r--Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb21
2 files changed, 28 insertions, 1 deletions
diff --git a/Library/Homebrew/rubocops/formula_desc_cop.rb b/Library/Homebrew/rubocops/formula_desc_cop.rb
index 2b613c9b4..2ef60303d 100644
--- a/Library/Homebrew/rubocops/formula_desc_cop.rb
+++ b/Library/Homebrew/rubocops/formula_desc_cop.rb
@@ -18,8 +18,14 @@ module RuboCop
return
end
- # Check if a formula's desc is too long
+ # Check the formula's desc length. Should be >0 and <80 characters.
desc = parameters(desc_call).first
+ pure_desc_length = string_content(desc).length
+ if pure_desc_length.zero?
+ problem "The desc (description) should not be an empty string."
+ return
+ end
+
desc_length = "#{@formula_name}: #{string_content(desc)}".length
max_desc_length = 80
return if desc_length <= max_desc_length
diff --git a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb
index ac8893e18..4816c3b26 100644
--- a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb
+++ b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb
@@ -27,6 +27,27 @@ describe RuboCop::Cop::FormulaAuditStrict::DescLength do
end
end
+ it "reports an offense when desc is an empty string" do
+ source = <<-EOS.undent
+ class Foo < Formula
+ url 'http://example.com/foo-1.0.tgz'
+ desc ''
+ end
+ EOS
+
+ msg = "The desc (description) should not be an empty string."
+ expected_offenses = [{ message: msg,
+ severity: :convention,
+ line: 3,
+ column: 2,
+ source: source }]
+
+ inspect_source(source, "/homebrew-core/Formula/foo.rb")
+ expected_offenses.zip(cop.offenses).each do |expected, actual|
+ expect_offense(expected, actual)
+ end
+ end
+
it "When desc is too long" do
source = <<-EOS.undent
class Foo < Formula