diff options
| author | Adam Vandenberg | 2010-03-16 22:33:13 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-04-06 08:27:12 -0700 |
| commit | 31ebf6a293f8fbcbe9df8544ba3fdc9dfc27aa91 (patch) | |
| tree | c5f63009a5db6ab2fb8a52b5656bd655b10fe07a /Library/Homebrew/test/test_formula.rb | |
| parent | 5cbab370e485689762230bf2a05d8c6d881175cf (diff) | |
| download | brew-31ebf6a293f8fbcbe9df8544ba3fdc9dfc27aa91.tar.bz2 | |
Split out some Formula tests.
Diffstat (limited to 'Library/Homebrew/test/test_formula.rb')
| -rw-r--r-- | Library/Homebrew/test/test_formula.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb new file mode 100644 index 000000000..aa545f6d4 --- /dev/null +++ b/Library/Homebrew/test/test_formula.rb @@ -0,0 +1,55 @@ +require 'testing_env' + +require 'extend/ARGV' # needs to be after test/unit to avoid conflict with OptionsParser +ARGV.extend(HomebrewArgvExtension) + +require 'test/testball' +require 'utils' +require 'brew.h' + + +class MostlyAbstractFormula <Formula + @url='' + @homepage = 'http://example.com/' +end + +class TestBallOverrideBrew <Formula + def initialize + super "foo" + end + def brew + end +end + + +class FormulaTests < Test::Unit::TestCase + + def test_prefix + nostdout do + TestBall.new.brew do |f| + assert_equal File.expand_path(f.prefix), (HOMEBREW_CELLAR+f.name+'0.1').to_s + assert_kind_of Pathname, f.prefix + end + end + end + + def test_class_naming + assert_equal 'ShellFm', Formula.class_s('shell.fm') + assert_equal 'Fooxx', Formula.class_s('foo++') + assert_equal 'SLang', Formula.class_s('s-lang') + assert_equal 'PkgConfig', Formula.class_s('pkg-config') + assert_equal 'FooBar', Formula.class_s('foo_bar') + end + + def test_cant_override_brew + assert_raises(RuntimeError) { TestBallOverrideBrew.new } + end + + def test_abstract_formula + f=MostlyAbstractFormula.new + assert_equal '__UNKNOWN__', f.name + assert_raises(RuntimeError) { f.prefix } + nostdout { assert_raises(RuntimeError) { f.brew } } + end + +end |
