aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2013-02-10 19:25:22 -0600
committerJack Nagel2013-02-10 19:27:33 -0600
commit7938ea792fe5928860a7e87457ae796fcadb96d8 (patch)
treeeaedf1836c3c12a7f76754b885d87479a10ad108 /Library
parent68b5a00bf1219f89995787f638d5804bf9ba2b0e (diff)
downloadhomebrew-7938ea792fe5928860a7e87457ae796fcadb96d8.tar.bz2
Shrink DependencyCollector#parse_symbol_spec and add tests
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/dependency_collector.rb22
-rw-r--r--Library/Homebrew/test/test_dependency_collector.rb22
2 files changed, 38 insertions, 6 deletions
diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb
index 703b6782c..e5da02429 100644
--- a/Library/Homebrew/dependency_collector.rb
+++ b/Library/Homebrew/dependency_collector.rb
@@ -76,13 +76,9 @@ private
case spec
when :autoconf, :automake, :bsdmake, :libtool
# Xcode no longer provides autotools or some other build tools
- Dependency.new(spec.to_s, [:build, *tag]) unless MacOS::Xcode.provides_autotools?
+ autotools_dep(spec, tag)
when *X11Dependency::Proxy::PACKAGES
- if MacOS.version >= :mountain_lion
- Dependency.new(spec.to_s, tag)
- else
- X11Dependency::Proxy.for(spec.to_s, tag)
- end
+ x11_dep(spec, tag)
when :cairo, :pixman
# We no longer use X11 psuedo-deps for cairo or pixman,
# so just return a standard formula dependency.
@@ -97,4 +93,18 @@ private
raise "Unsupported special dependency #{spec}"
end
end
+
+ def x11_dep(spec, tag)
+ if MacOS.version >= :mountain_lion
+ Dependency.new(spec.to_s, tag)
+ else
+ X11Dependency::Proxy.for(spec.to_s, tag)
+ end
+ end
+
+ def autotools_dep(spec, tag)
+ unless MacOS::Xcode.provides_autotools?
+ Dependency.new(spec.to_s, [:build, *tag])
+ end
+ end
end
diff --git a/Library/Homebrew/test/test_dependency_collector.rb b/Library/Homebrew/test/test_dependency_collector.rb
index 746086721..ee966ba8c 100644
--- a/Library/Homebrew/test/test_dependency_collector.rb
+++ b/Library/Homebrew/test/test_dependency_collector.rb
@@ -81,6 +81,28 @@ class DependencyCollectorTests < Test::Unit::TestCase
assert_equal '2.5.1', dep.min_version
assert dep.optional?
end
+
+ def test_autotools_dep_no_system_autotools
+ MacOS::Xcode.stubs(:provides_autotools?).returns(false)
+ dep = @d.build(:libtool)
+ assert_equal Dependency.new("libtool"), dep
+ assert dep.build?
+ end
+
+ def test_autotools_dep_system_autotools
+ MacOS::Xcode.stubs(:provides_autotools?).returns(true)
+ assert_nil @d.build(:libtool)
+ end
+
+ def test_x11_proxy_dep_mountain_lion
+ MacOS.stubs(:version).returns(MacOS::Version.new(10.8))
+ assert_equal Dependency.new("libpng"), @d.build(:libpng)
+ end
+
+ def test_x11_proxy_dep_lion_or_older
+ MacOS.stubs(:version).returns(MacOS::Version.new(10.7))
+ assert_equal X11Dependency::Proxy.new(:libpng), @d.build(:libpng)
+ end
end
class LanguageModuleDependencyTests < Test::Unit::TestCase