| 
									
										
										
										
											2016-07-16 21:07:25 +01:00
										 |  |  | require "testing_env" | 
					
						
							|  |  |  | require "dependency_collector" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class OSMacDependencyCollectorTests < Homebrew::TestCase | 
					
						
							| 
									
										
										
										
											2016-09-20 08:10:18 -04:00
										 |  |  |   def find_dependency(name) | 
					
						
							|  |  |  |     @d.deps.find { |dep| dep.name == name } | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-16 21:07:25 +01:00
										 |  |  |   def setup | 
					
						
							| 
									
										
										
										
											2017-01-21 11:21:30 +00:00
										 |  |  |     super | 
					
						
							| 
									
										
										
										
											2016-07-16 21:07:25 +01:00
										 |  |  |     @d = DependencyCollector.new | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def teardown | 
					
						
							|  |  |  |     DependencyCollector.clear_cache | 
					
						
							| 
									
										
										
										
											2017-01-21 11:21:30 +00:00
										 |  |  |     super | 
					
						
							| 
									
										
										
										
											2016-07-16 21:07:25 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-15 13:10:35 +01:00
										 |  |  |   def test_tar_needs_xz_dependency | 
					
						
							| 
									
										
										
										
											2016-10-16 02:03:23 -07:00
										 |  |  |     MacOS.stubs(:version).returns(MacOS::Version.new("10.9")) | 
					
						
							| 
									
										
										
										
											2016-10-15 13:10:35 +01:00
										 |  |  |     refute DependencyCollector.tar_needs_xz_dependency? | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-16 21:07:25 +01:00
										 |  |  |   def test_ld64_dep_pre_leopard | 
					
						
							|  |  |  |     MacOS.stubs(:version).returns(MacOS::Version.new("10.4")) | 
					
						
							|  |  |  |     assert_equal LD64Dependency.new, @d.build(:ld64) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_ld64_dep_leopard_or_newer | 
					
						
							|  |  |  |     MacOS.stubs(:version).returns(MacOS::Version.new("10.5")) | 
					
						
							|  |  |  |     assert_nil @d.build(:ld64) | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-09-18 12:24:29 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def test_ant_dep_mavericks_or_newer | 
					
						
							|  |  |  |     MacOS.stubs(:version).returns(MacOS::Version.new("10.9")) | 
					
						
							| 
									
										
										
										
											2016-09-20 10:57:14 -04:00
										 |  |  |     @d.add ant: :build | 
					
						
							| 
									
										
										
										
											2016-09-18 12:24:29 -04:00
										 |  |  |     assert_equal find_dependency("ant"), Dependency.new("ant", [:build]) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_ant_dep_pre_mavericks | 
					
						
							|  |  |  |     MacOS.stubs(:version).returns(MacOS::Version.new("10.7")) | 
					
						
							| 
									
										
										
										
											2016-09-20 10:57:14 -04:00
										 |  |  |     @d.add ant: :build | 
					
						
							| 
									
										
										
										
											2016-09-18 12:24:29 -04:00
										 |  |  |     assert_nil find_dependency("ant") | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-10-15 13:10:35 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-16 02:03:23 -07:00
										 |  |  |   def test_resource_dep_xz_pre_mavericks | 
					
						
							|  |  |  |     MacOS.stubs(:version).returns(MacOS::Version.new("10.8")) | 
					
						
							| 
									
										
										
										
											2016-10-15 13:10:35 +01:00
										 |  |  |     resource = Resource.new | 
					
						
							|  |  |  |     resource.url("http://example.com/foo.tar.xz") | 
					
						
							|  |  |  |     assert_equal Dependency.new("xz", [:build]), @d.add(resource) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-16 02:03:23 -07:00
										 |  |  |   def test_resource_dep_xz_mavericks_or_newer | 
					
						
							|  |  |  |     MacOS.stubs(:version).returns(MacOS::Version.new("10.9")) | 
					
						
							| 
									
										
										
										
											2016-10-15 13:10:35 +01:00
										 |  |  |     resource = Resource.new | 
					
						
							|  |  |  |     resource.url("http://example.com/foo.tar.xz") | 
					
						
							|  |  |  |     assert_nil @d.add(resource) | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-07-16 21:07:25 +01:00
										 |  |  | end |