Implement []= on BottleCollector
This commit is contained in:
parent
26f4a78825
commit
68326805ae
@ -68,18 +68,23 @@ class BottleCollector
|
||||
@bottles = {}
|
||||
end
|
||||
|
||||
def add(checksum, tag)
|
||||
@bottles[tag] = checksum
|
||||
end
|
||||
|
||||
def fetch_bottle_for(tag)
|
||||
return [@bottles[tag], tag] if @bottles[tag]
|
||||
|
||||
find_altivec_tag(tag) || find_or_later_tag(tag)
|
||||
end
|
||||
|
||||
def keys; @bottles.keys; end
|
||||
def [](arg); @bottles[arg]; end
|
||||
def keys
|
||||
@bottles.keys
|
||||
end
|
||||
|
||||
def [](key)
|
||||
@bottles[key]
|
||||
end
|
||||
|
||||
def []=(key, value)
|
||||
@bottles[key] = value
|
||||
end
|
||||
|
||||
# This allows generic Altivec PPC bottles to be supported in some
|
||||
# formulae, while also allowing specific bottles in others; e.g.,
|
||||
|
||||
@ -172,7 +172,7 @@ class BottleSpecification
|
||||
Checksum::TYPES.each do |cksum|
|
||||
define_method(cksum) do |val|
|
||||
digest, tag = val.shift
|
||||
collector.add(Checksum.new(cksum, digest), tag)
|
||||
collector[tag] = Checksum.new(cksum, digest)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -7,8 +7,8 @@ class BottleCollectorTests < Homebrew::TestCase
|
||||
end
|
||||
|
||||
def test_collector_returns_passed_tags
|
||||
@collector.add('foo', :lion)
|
||||
@collector.add('bar', :mountain_lion)
|
||||
@collector[:lion] = "foo"
|
||||
@collector[:mountain_lion] = "bar"
|
||||
assert_equal ['bar', :mountain_lion], @collector.fetch_bottle_for(:mountain_lion)
|
||||
end
|
||||
|
||||
@ -17,19 +17,19 @@ class BottleCollectorTests < Homebrew::TestCase
|
||||
end
|
||||
|
||||
def test_collector_finds_or_later_tags
|
||||
@collector.add('foo', :lion_or_later)
|
||||
@collector[:lion_or_later] = "foo"
|
||||
assert_equal ['foo', :lion_or_later], @collector.fetch_bottle_for(:mountain_lion)
|
||||
assert_nil @collector.fetch_bottle_for(:snow_leopard)
|
||||
end
|
||||
|
||||
def test_collector_prefers_exact_matches
|
||||
@collector.add('foo', :lion_or_later)
|
||||
@collector.add('bar', :mountain_lion)
|
||||
@collector[:lion_or_later] = "foo"
|
||||
@collector[:mountain_lion] = "bar"
|
||||
assert_equal ['bar', :mountain_lion], @collector.fetch_bottle_for(:mountain_lion)
|
||||
end
|
||||
|
||||
def test_collector_finds_altivec_tags
|
||||
@collector.add('foo', :tiger_altivec)
|
||||
@collector[:tiger_altivec] = "foo"
|
||||
assert_equal ['foo', :tiger_altivec], @collector.fetch_bottle_for(:tiger_g4)
|
||||
assert_equal ['foo', :tiger_altivec], @collector.fetch_bottle_for(:tiger_g4e)
|
||||
assert_equal ['foo', :tiger_altivec], @collector.fetch_bottle_for(:tiger_g5)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user