Skip to content
Snippets Groups Projects
Commit ea08e4fb authored by Baptiste Fontaine's avatar Baptiste Fontaine
Browse files

KegOnlyReason: print only the explanation if there’s one


Closes Homebrew/homebrew#42073.

Signed-off-by: default avatarBaptiste Fontaine <batifon@yahoo.fr>
parent ea13d62c
No related branches found
No related tags found
No related merge requests found
......@@ -23,28 +23,23 @@ class KegOnlyReason
end
def to_s
return @explanation unless @explanation.empty?
case @reason
when :provided_by_osx then <<-EOS
OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.
#{@explanation}
EOS
when :shadowed_by_osx then <<-EOS
OS X provides similar software, and installing this software in
parallel can cause all kinds of trouble.
#{@explanation}
EOS
when :provided_pre_mountain_lion then <<-EOS
OS X already provides this software in versions before Mountain Lion.
#{@explanation}
EOS
when :provided_until_xcode43
"Xcode provides this software prior to version 4.3.\n\n#{@explanation}"
"Xcode provides this software prior to version 4.3."
when :provided_until_xcode5
"Xcode provides this software prior to version 5.\n\n#{@explanation}"
"Xcode provides this software prior to version 5."
else
@reason
end.strip
......
require "testing_env"
class KegOnlyReasonTests < Homebrew::TestCase
def test_to_s_explanation
r = KegOnlyReason.new :provided_by_osx, "test"
assert_equal "test", r.to_s
end
def test_to_s_no_explanation
r = KegOnlyReason.new :provided_by_osx, ""
assert_match(/^OS X already provides/, r.to_s)
end
end
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