Skip to content
Snippets Groups Projects
Commit e1ef3795 authored by Mike McQuaid's avatar Mike McQuaid Committed by GitHub
Browse files

Merge pull request #2577 from DomT4/keg_only_style_tweaks

caveats: tweak keg_only style
parents 935a3fd4 bf491e51
No related branches found
No related tags found
No related merge requests found
......@@ -46,7 +46,7 @@ class Caveats
s = <<-EOS.undent
This formula is keg-only, which means it was not symlinked into #{HOMEBREW_PREFIX},
because #{f.keg_only_reason}.
because #{f.keg_only_reason.to_s.chomp}.
EOS
if f.bin.directory? || f.sbin.directory?
s << "\nIf you need to have this software first in your PATH run:\n"
......
......@@ -502,6 +502,7 @@ class FormulaAuditor
GPG
GNOME
BSD
Firefox
].freeze
reason = formula.keg_only_reason.to_s
......@@ -510,7 +511,7 @@ class FormulaAuditor
reason.sub!(name, "")
first_word = reason.split[0]
if reason =~ /^[A-Z]/ && !reason.start_with?(*whitelist)
if reason =~ /\A[A-Z]/ && !reason.start_with?(*whitelist)
problem <<-EOS.undent
'#{first_word}' from the keg_only reason should be '#{first_word.downcase}'.
EOS
......
......@@ -322,6 +322,69 @@ describe FormulaAuditor do
.to eq(["Don't recommend setuid in the caveats, suggest sudo instead."])
end
describe "#audit_keg_only_style" do
specify "keg_only_needs_downcasing" do
fa = formula_auditor "foo", <<-EOS.undent, strict: true
class Foo < Formula
url "http://example.com/foo-1.0.tgz"
keg_only "Because why not"
end
EOS
fa.audit_keg_only_style
expect(fa.problems)
.to eq(["'Because' from the keg_only reason should be 'because'.\n"])
end
specify "keg_only_redundant_period" do
fa = formula_auditor "foo", <<-EOS.undent, strict: true
class Foo < Formula
url "http://example.com/foo-1.0.tgz"
keg_only "because this line ends in a period."
end
EOS
fa.audit_keg_only_style
expect(fa.problems)
.to eq(["keg_only reason should not end with a period."])
end
specify "keg_only_handles_block_correctly" do
fa = formula_auditor "foo", <<-EOS.undent, strict: true
class Foo < Formula
url "http://example.com/foo-1.0.tgz"
keg_only <<-EOF.undent
this line starts with a lowercase word.
This line does not but that shouldn't be a
problem
EOF
end
EOS
fa.audit_keg_only_style
expect(fa.problems)
.to eq([])
end
specify "keg_only_handles_whitelist_correctly" do
fa = formula_auditor "foo", <<-EOS.undent, strict: true
class Foo < Formula
url "http://example.com/foo-1.0.tgz"
keg_only "Apple ships foo in the CLT package"
end
EOS
fa.audit_keg_only_style
expect(fa.problems)
.to eq([])
end
end
describe "#audit_homepage" do
specify "homepage URLs" do
fa = formula_auditor "foo", <<-EOS.undent, online: true
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment