diff options
| author | Jack Nagel | 2013-02-10 19:25:22 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-02-10 19:27:33 -0600 |
| commit | 7938ea792fe5928860a7e87457ae796fcadb96d8 (patch) | |
| tree | eaedf1836c3c12a7f76754b885d87479a10ad108 /Library | |
| parent | 68b5a00bf1219f89995787f638d5804bf9ba2b0e (diff) | |
| download | homebrew-7938ea792fe5928860a7e87457ae796fcadb96d8.tar.bz2 | |
Shrink DependencyCollector#parse_symbol_spec and add tests
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/dependency_collector.rb | 22 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_dependency_collector.rb | 22 |
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 |
