brew/Library/Homebrew/test/test_formula_spec_selection.rb

100 lines
1.9 KiB
Ruby

require 'testing_env'
require 'formula'
class FormulaSpecSelectionTests < Homebrew::TestCase
def test_selects_stable_by_default
f = formula {
url "foo-1.0"
devel { url "foo-1.1a" }
head "foo"
}
assert_predicate f, :stable?
end
def test_selects_stable_when_exclusive
f = formula { url "foo-1.0" }
assert_predicate f, :stable?
end
def test_selects_devel_before_head
f = formula {
devel { url "foo-1.1a" }
head "foo"
}
assert_predicate f, :devel?
end
def test_selects_devel_when_exclusive
f = formula { devel { url "foo-1.1a" } }
assert_predicate f, :devel?
end
def test_selects_head_when_exclusive
f = formula { head "foo" }
assert_predicate f, :head?
end
def test_incomplete_spec_not_selected
f = formula {
sha1 TEST_SHA1
version "1.0"
head "foo"
}
assert_predicate f, :head?
end
def test_incomplete_stable_not_set
f = formula {
sha1 TEST_SHA1
devel { url "foo-1.1a" }
head "foo"
}
assert_nil f.stable
assert_predicate f, :devel?
end
def test_selects_head_when_requested
f = formula("test", Pathname.new(__FILE__).expand_path, :head) {
url "foo-1.0"
devel { url "foo-1.1a" }
head "foo"
}
assert_predicate f, :head?
end
def test_selects_devel_when_requested
f = formula("test", Pathname.new(__FILE__).expand_path, :devel) {
url "foo-1.0"
devel { url "foo-1.1a" }
head "foo"
}
assert_predicate f, :devel?
end
def test_incomplete_devel_not_set
f = formula {
url "foo-1.0"
devel { version "1.1a" }
head "foo"
}
assert_nil f.devel
assert_predicate f, :stable?
end
def test_does_not_raise_for_missing_spec
f = formula("test", Pathname.new(__FILE__).expand_path, :devel) {
url "foo-1.0"
head "foo"
}
assert_predicate f, :stable?
end
end