aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/formula_validation_test.rb
diff options
context:
space:
mode:
authorMarkus Reiter2016-11-13 22:00:15 +0100
committerMarkus Reiter2016-11-16 23:52:38 +0100
commit7457af2b231528e1287281f6cfe651600d5f3f5d (patch)
tree0da872ad2906fad53f176e05056181e0c6ccceaa /Library/Homebrew/test/formula_validation_test.rb
parent9dc1f8f3cd405bc299eb688075687f951afd3e13 (diff)
downloadbrew-7457af2b231528e1287281f6cfe651600d5f3f5d.tar.bz2
Move test files back directly to `test/`.
Diffstat (limited to 'Library/Homebrew/test/formula_validation_test.rb')
-rw-r--r--Library/Homebrew/test/formula_validation_test.rb75
1 files changed, 75 insertions, 0 deletions
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