aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/formula.rb5
-rw-r--r--Library/Homebrew/test/test_formula.rb14
2 files changed, 16 insertions, 3 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 38e8d8f1f..d70b59a9c 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -30,10 +30,9 @@ class Formula
attr_reader :cxxstdlib
# Homebrew determines the name
- def initialize name='__UNKNOWN__', path=nil
+ def initialize name='__UNKNOWN__', path=self.class.path(name)
@name = name
- # If we got an explicit path, use that, else determine from the name
- @path = path.nil? ? self.class.path(name) : path
+ @path = path
@homepage = self.class.homepage
set_spec :stable
diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb
index 51b6d8813..dd4f9a3e3 100644
--- a/Library/Homebrew/test/test_formula.rb
+++ b/Library/Homebrew/test/test_formula.rb
@@ -4,6 +4,20 @@ require 'test/testball'
class FormulaTests < Test::Unit::TestCase
include VersionAssertions
+ def test_formula_path_initialization
+ name = "formula_name"
+ klass = Class.new(Formula) { url "http://example.com/foo-1.0.tar.gz" }
+
+ f = klass.new(name)
+ assert_equal Formula.path(name), f.path
+
+ f = klass.new(name, path = Object.new)
+ assert_equal path, f.path
+
+ f = klass.new(name, nil)
+ assert_nil f.path
+ end
+
def test_prefix
f = TestBall.new
assert_equal HOMEBREW_CELLAR/f.name/'0.1', f.prefix