More tests for Formula and Keg
This commit is contained in:
parent
7e0d5bf165
commit
055a694cd4
@ -190,10 +190,6 @@ private
|
||||
end
|
||||
return tgz
|
||||
end
|
||||
|
||||
def method_added method
|
||||
raise 'You cannot override Formula.brew' if method == 'brew'
|
||||
end
|
||||
end
|
||||
|
||||
# somewhat useful, it'll raise if you call prefix, but it'll unpack a tar/zip
|
||||
@ -232,7 +228,7 @@ class Formula <UnidentifiedFormula
|
||||
super name
|
||||
@version=Pathname.new(@url).version unless @version
|
||||
end
|
||||
|
||||
|
||||
def self.class name
|
||||
#remove invalid characters and camelcase
|
||||
name.capitalize.gsub(/[-_\s]([a-zA-Z0-9])/) { $1.upcase }
|
||||
@ -241,13 +237,17 @@ class Formula <UnidentifiedFormula
|
||||
def self.path name
|
||||
Pathname.new(HOMEBREW_PREFIX)+'Library'+'Formula'+(name.downcase+'.rb')
|
||||
end
|
||||
|
||||
|
||||
def self.create name
|
||||
require Formula.path(name)
|
||||
return eval(Formula.class(name)).new(name)
|
||||
rescue LoadError
|
||||
raise "No formula for #{name}"
|
||||
end
|
||||
|
||||
def method_added method
|
||||
raise 'You cannot override Formula.brew' if method == 'brew'
|
||||
end
|
||||
end
|
||||
|
||||
# see ack.rb for an example usage
|
||||
|
||||
@ -47,6 +47,15 @@ class TestBallInvalidMd5 <TestBall
|
||||
@md5='61aa838a9e4050d1876a295a9e62cbe6'
|
||||
end
|
||||
|
||||
class TestBallOverrideBrew <Formula
|
||||
def initialize
|
||||
super "foo"
|
||||
end
|
||||
def brew
|
||||
puts "We can't override brew"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def nostdout
|
||||
tmp=$stdout
|
||||
@ -177,6 +186,10 @@ class BeerTasting <Test::Unit::TestCase
|
||||
assert_equal 2, HOMEBREW_PREFIX.children.length
|
||||
assert (HOMEBREW_PREFIX+'bin').directory?
|
||||
assert_equal 3, (HOMEBREW_PREFIX+'bin').children.length
|
||||
|
||||
keg.rm
|
||||
assert !keg.path.exist?
|
||||
assert !f.installed?
|
||||
end
|
||||
|
||||
def test_md5
|
||||
@ -203,4 +216,8 @@ class BeerTasting <Test::Unit::TestCase
|
||||
|
||||
assert_not_nil Formula.create(FOOBAR)
|
||||
end
|
||||
|
||||
def test_cant_override_brew
|
||||
assert_raises(RuntimeError) { TestBallOverrideBrew.new }
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user