Merge pull request #1998 from reitermarkus/spec-bottle-collector

Convert Utils::Bottles::Collector test to spec.
This commit is contained in:
Markus Reiter 2017-02-13 14:28:36 +01:00 committed by GitHub
commit e116ba196e
2 changed files with 31 additions and 39 deletions

View File

@ -1,39 +0,0 @@
require "testing_env"
require "utils/bottles"
class BottleCollectorTests < Homebrew::TestCase
def setup
super
@collector = Utils::Bottles::Collector.new
end
def checksum_for(tag)
@collector.fetch_checksum_for(tag)
end
def test_collector_returns_passed_tags
@collector[:lion] = "foo"
@collector[:mountain_lion] = "bar"
assert_equal ["bar", :mountain_lion], checksum_for(:mountain_lion)
end
def test_collector_returns_when_empty
assert_nil checksum_for(:foo)
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_prefers_exact_matches
@collector[:lion_or_later] = "foo"
@collector[:mountain_lion] = "bar"
assert_equal ["bar", :mountain_lion], checksum_for(:mountain_lion)
end
end

View File

@ -0,0 +1,31 @@
require "utils/bottles"
describe Utils::Bottles::Collector do
describe "#fetch_checksum_for" do
it "returns passed tags" do
subject[:lion] = "foo"
subject[:mountain_lion] = "bar"
expect(subject.fetch_checksum_for(:mountain_lion)).to eq(["bar", :mountain_lion])
end
it "returns nil if empty" do
expect(subject.fetch_checksum_for(:foo)).to be nil
end
it "returns nil when there is no match" do
subject[:lion] = "foo"
expect(subject.fetch_checksum_for(:foo)).to be nil
end
it "returns nil when there is no match and later tag is present" do
subject[:lion_or_later] = "foo"
expect(subject.fetch_checksum_for(:foo)).to be nil
end
it "prefers exact matches" do
subject[:lion_or_later] = "foo"
subject[:mountain_lion] = "bar"
expect(subject.fetch_checksum_for(:mountain_lion)).to eq(["bar", :mountain_lion])
end
end
end