From 079d0556ad0076b75f3a2eae99cf97af95a44fe2 Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Mon, 21 Oct 2013 21:03:14 -0700 Subject: 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. --- Library/Homebrew/test/test_bottle_collector.rb | 38 ++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Library/Homebrew/test/test_bottle_collector.rb (limited to 'Library/Homebrew/test') 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 -- cgit v1.2.3