aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorMisty De Meo2013-10-21 21:03:14 -0700
committerMisty De Meo2013-12-05 18:24:45 -0800
commit079d0556ad0076b75f3a2eae99cf97af95a44fe2 (patch)
tree04e459f2943e166db3ff221e4c058f5309e57356 /Library/Homebrew/test
parentd6ab345be5a31c822822502b1edc8d5b4dfc17d9 (diff)
downloadbrew-079d0556ad0076b75f3a2eae99cf97af95a44fe2.tar.bz2
Add BottleCollector
The BottleCollector collects bottle tags and sha1s, and allows tags to be fetched using more advanced logic than just fetching identical tags. Closes Homebrew/homebrew#23434.
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/test_bottle_collector.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_bottle_collector.rb b/Library/Homebrew/test/test_bottle_collector.rb
new file mode 100644
index 000000000..0dbc1106b
--- /dev/null
+++ b/Library/Homebrew/test/test_bottle_collector.rb
@@ -0,0 +1,38 @@
+require 'testing_env'
+require 'bottles'
+
+class BottleCollectorTests < Test::Unit::TestCase
+ def setup
+ @collector = BottleCollector.new
+ end
+
+ def test_collector_returns_passed_tags
+ @collector.add('foo', :lion)
+ @collector.add('bar', :mountain_lion)
+ assert_equal ['bar', :mountain_lion], @collector.fetch_bottle_for(:mountain_lion)
+ end
+
+ def test_collector_returns_nil_on_no_matches
+ assert_nil @collector.fetch_bottle_for(:foo)
+ end
+
+ def test_collector_finds_or_later_tags
+ @collector.add('foo', :lion_or_later)
+ 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)
+ assert_equal ['bar', :mountain_lion], @collector.fetch_bottle_for(:mountain_lion)
+ end
+
+ def test_collector_finds_altivec_tags
+ @collector.add('foo', :tiger_altivec)
+ 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)
+ assert_nil @collector.fetch_bottle_for(:tiger_g3)
+ end
+end