Don't raise when converting the tag to a version fails
This commit is contained in:
parent
596f3ba0a0
commit
28f0e5c4fd
@ -114,10 +114,16 @@ class BottleCollector
|
|||||||
# so the same bottle can target multiple OSs.
|
# so the same bottle can target multiple OSs.
|
||||||
# Not used in core, used in taps.
|
# Not used in core, used in taps.
|
||||||
def find_or_later_tag(tag)
|
def find_or_later_tag(tag)
|
||||||
|
begin
|
||||||
|
tag_version = MacOS::Version.from_symbol(tag)
|
||||||
|
rescue ArgumentError
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
keys.find do |key|
|
keys.find do |key|
|
||||||
if key.to_s.end_with?("_or_later")
|
if key.to_s.end_with?("_or_later")
|
||||||
later_tag = key.to_s[/(\w+)_or_later$/, 1].to_sym
|
later_tag = key.to_s[/(\w+)_or_later$/, 1].to_sym
|
||||||
MacOS::Version.from_symbol(later_tag) <= MacOS::Version.from_symbol(tag)
|
MacOS::Version.from_symbol(later_tag) <= tag_version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -20,6 +20,16 @@ class BottleCollectorTests < Homebrew::TestCase
|
|||||||
assert_nil checksum_for(:foo)
|
assert_nil checksum_for(:foo)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_collector_returns_nil_for_no_match
|
||||||
|
@collector[:lion] = "foo"
|
||||||
|
assert_nil checksum_for(:foo)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_collector_returns_nil_for_no_match_when_later_tag_present
|
||||||
|
@collector[:lion_or_later] = "foo"
|
||||||
|
assert_nil checksum_for(:foo)
|
||||||
|
end
|
||||||
|
|
||||||
def test_collector_finds_or_later_tags
|
def test_collector_finds_or_later_tags
|
||||||
@collector[:lion_or_later] = "foo"
|
@collector[:lion_or_later] = "foo"
|
||||||
assert_equal ['foo', :lion_or_later], checksum_for(:mountain_lion)
|
assert_equal ['foo', :lion_or_later], checksum_for(:mountain_lion)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user