From 7457af2b231528e1287281f6cfe651600d5f3f5d Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Sun, 13 Nov 2016 22:00:15 +0100 Subject: Move test files back directly to `test/`. --- Library/Homebrew/test/formula_validation_test.rb | 75 ++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Library/Homebrew/test/formula_validation_test.rb (limited to 'Library/Homebrew/test/formula_validation_test.rb') diff --git a/Library/Homebrew/test/formula_validation_test.rb b/Library/Homebrew/test/formula_validation_test.rb new file mode 100644 index 000000000..c40eb6733 --- /dev/null +++ b/Library/Homebrew/test/formula_validation_test.rb @@ -0,0 +1,75 @@ +require "testing_env" +require "formula" + +class FormulaValidationTests < Homebrew::TestCase + def assert_invalid(attr, &block) + e = assert_raises(FormulaValidationError, &block) + assert_equal attr, e.attr + end + + def test_cant_override_brew + e = assert_raises(RuntimeError) { formula { def brew; end } } + assert_match(/You cannot override Formula#brew/, e.message) + end + + def test_validates_name + assert_invalid :name do + formula "name with spaces" do + url "foo" + version "1.0" + end + end + end + + def test_validates_url + assert_invalid :url do + formula do + url "" + version "1" + end + end + end + + def test_validates_version + assert_invalid :version do + formula do + url "foo" + version "version with spaces" + end + end + + assert_invalid :version do + formula do + url "foo" + version "" + end + end + + assert_invalid :version do + formula do + url "foo" + version nil + end + end + end + + def test_devel_only_valid + f = formula do + devel do + url "foo" + version "1.0" + end + end + + assert_predicate f, :devel? + end + + def test_head_only_valid + f = formula { head "foo" } + assert_predicate f, :head? + end + + def test_empty_formula_invalid + assert_raises(FormulaSpecificationError) { formula {} } + end +end -- cgit v1.2.3