Merge pull request #3294 from DomT4/an_empty_string_is_a_naughty_desc

formula_desc_cop: empty string is not a valid desc
This commit is contained in:
Mike McQuaid 2017-10-17 21:29:24 +01:00 committed by GitHub
commit 69d28f9d8f
2 changed files with 28 additions and 1 deletions

View File

@ -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

View File

@ -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