Merge pull request #2577 from DomT4/keg_only_style_tweaks
caveats: tweak keg_only style
This commit is contained in:
commit
e1ef37953f
@ -46,7 +46,7 @@ class Caveats
|
|||||||
|
|
||||||
s = <<-EOS.undent
|
s = <<-EOS.undent
|
||||||
This formula is keg-only, which means it was not symlinked into #{HOMEBREW_PREFIX},
|
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
|
EOS
|
||||||
if f.bin.directory? || f.sbin.directory?
|
if f.bin.directory? || f.sbin.directory?
|
||||||
s << "\nIf you need to have this software first in your PATH run:\n"
|
s << "\nIf you need to have this software first in your PATH run:\n"
|
||||||
|
@ -502,6 +502,7 @@ class FormulaAuditor
|
|||||||
GPG
|
GPG
|
||||||
GNOME
|
GNOME
|
||||||
BSD
|
BSD
|
||||||
|
Firefox
|
||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
reason = formula.keg_only_reason.to_s
|
reason = formula.keg_only_reason.to_s
|
||||||
@ -510,7 +511,7 @@ class FormulaAuditor
|
|||||||
reason.sub!(name, "")
|
reason.sub!(name, "")
|
||||||
first_word = reason.split[0]
|
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
|
problem <<-EOS.undent
|
||||||
'#{first_word}' from the keg_only reason should be '#{first_word.downcase}'.
|
'#{first_word}' from the keg_only reason should be '#{first_word.downcase}'.
|
||||||
EOS
|
EOS
|
||||||
|
@ -322,6 +322,69 @@ describe FormulaAuditor do
|
|||||||
.to eq(["Don't recommend setuid in the caveats, suggest sudo instead."])
|
.to eq(["Don't recommend setuid in the caveats, suggest sudo instead."])
|
||||||
end
|
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
|
describe "#audit_homepage" do
|
||||||
specify "homepage URLs" do
|
specify "homepage URLs" do
|
||||||
fa = formula_auditor "foo", <<-EOS.undent, online: true
|
fa = formula_auditor "foo", <<-EOS.undent, online: true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user