Handle only HEAD kegs in to_latest_kegs
This commit is contained in:
parent
0fc7762e99
commit
3dde12c634
@ -324,7 +324,11 @@ module Homebrew
|
||||
# Return keg if it is the only installed keg
|
||||
return kegs if kegs.length == 1
|
||||
|
||||
kegs.reject { |k| k.version.head? }.max_by(&:version)
|
||||
eligible_kegs = kegs.reject { |k| k.version.head? }
|
||||
# Use HEAD kegs if there are no stable kegs
|
||||
eligible_kegs = kegs if eligible_kegs.blank?
|
||||
|
||||
eligible_kegs.max_by(&:version)
|
||||
end
|
||||
|
||||
def resolve_default_keg(name)
|
||||
|
||||
@ -223,12 +223,14 @@ describe Homebrew::CLI::NamedArgs do
|
||||
(HOMEBREW_CELLAR/"foo/1.0").mkpath
|
||||
(HOMEBREW_CELLAR/"foo/2.0").mkpath
|
||||
(HOMEBREW_CELLAR/"bar/1.0").mkpath
|
||||
(HOMEBREW_CELLAR/"baz/HEAD-1").mkpath
|
||||
(HOMEBREW_CELLAR/"baz/HEAD-2").mkpath
|
||||
end
|
||||
|
||||
it "resolves the latest kegs with #resolve_latest_keg" do
|
||||
latest_kegs = described_class.new("foo", "bar").to_latest_kegs
|
||||
expect(latest_kegs.map(&:name)).to eq ["foo", "bar"]
|
||||
expect(latest_kegs.map { |k| k.version.version.to_s }).to eq ["2.0", "1.0"]
|
||||
latest_kegs = described_class.new("foo", "bar", "baz").to_latest_kegs
|
||||
expect(latest_kegs.map(&:name)).to eq ["foo", "bar", "baz"]
|
||||
expect(latest_kegs.map { |k| k.version.version.to_s }).to eq ["2.0", "1.0", "HEAD-1"]
|
||||
end
|
||||
|
||||
it "when there are no matching kegs returns an empty array" do
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user