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
commitb11be1e98b96d50bb974dc31e4ebc08cb226ec70 (patch)
tree3848c7fce630312d1863f3c6e0125994ff720f72 /Library/Homebrew/test
parentc189ac62277818a3418b9a15f781e511bcf83a4f (diff)
downloadhomebrew-b11be1e98b96d50bb974dc31e4ebc08cb226ec70.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 #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