| 
									
										
										
										
											2013-04-13 17:40:13 -05:00
										 |  |  | require 'testing_env' | 
					
						
							|  |  |  | require 'formula' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-18 20:32:51 -05:00
										 |  |  | class FormulaSpecSelectionTests < Homebrew::TestCase | 
					
						
							| 
									
										
										
										
											2013-04-13 17:40:13 -05:00
										 |  |  |   def assert_spec_selected(spec) | 
					
						
							|  |  |  |     assert_equal @_f.send(spec), @_f.active_spec | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-13 17:46:11 -05:00
										 |  |  |   def assert_spec_unset(spec) | 
					
						
							|  |  |  |     assert_nil @_f.send(spec) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-13 17:40:13 -05:00
										 |  |  |   def test_selects_stable_by_default | 
					
						
							|  |  |  |     formula do | 
					
						
							|  |  |  |       url 'foo-1.0' | 
					
						
							|  |  |  |       devel { url 'foo-1.1a' } | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :stable | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_selects_stable_when_exclusive | 
					
						
							|  |  |  |     formula do | 
					
						
							|  |  |  |       url 'foo-1.0' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :stable | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_selects_devel_before_head | 
					
						
							|  |  |  |     formula do | 
					
						
							|  |  |  |       devel { url 'foo-1.1a' } | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :devel | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_selects_devel_when_exclusive | 
					
						
							|  |  |  |     formula do | 
					
						
							|  |  |  |       devel { url 'foo-1.1a' } | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :devel | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_selects_head_when_exclusive | 
					
						
							|  |  |  |     formula do | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :head | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-04-13 17:46:11 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def test_incomplete_spec_not_selected | 
					
						
							|  |  |  |     formula do | 
					
						
							| 
									
										
										
										
											2013-12-09 15:57:50 -06:00
										 |  |  |       sha1 TEST_SHA1 | 
					
						
							| 
									
										
										
										
											2013-04-13 17:46:11 -05:00
										 |  |  |       version '1.0' | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :head | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_incomplete_stable_not_set | 
					
						
							|  |  |  |     formula do | 
					
						
							| 
									
										
										
										
											2013-12-09 15:57:50 -06:00
										 |  |  |       sha1 TEST_SHA1 | 
					
						
							| 
									
										
										
										
											2013-04-13 17:46:11 -05:00
										 |  |  |       devel { url 'foo-1.1a' } | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_unset :stable | 
					
						
							|  |  |  |     assert_spec_selected :devel | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-19 21:35:47 -05:00
										 |  |  |   def test_selects_head_when_requested | 
					
						
							|  |  |  |     formula("test", Pathname.new(__FILE__).expand_path, :head) do | 
					
						
							|  |  |  |       url 'foo-1.0' | 
					
						
							|  |  |  |       devel { url 'foo-1.1a' } | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :head | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def test_selects_devel_when_requested | 
					
						
							|  |  |  |     formula("test", Pathname.new(__FILE__).expand_path, :devel) do | 
					
						
							|  |  |  |       url 'foo-1.0' | 
					
						
							|  |  |  |       devel { url 'foo-1.1a' } | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :devel | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-13 17:46:11 -05:00
										 |  |  |   def test_incomplete_devel_not_set | 
					
						
							|  |  |  |     formula do | 
					
						
							|  |  |  |       url 'foo-1.0' | 
					
						
							|  |  |  |       devel { version '1.1a' } | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_unset :devel | 
					
						
							|  |  |  |     assert_spec_selected :stable | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2014-06-19 21:35:47 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def test_does_not_raise_for_missing_spec | 
					
						
							|  |  |  |     formula("test", Pathname.new(__FILE__).expand_path, :devel) do | 
					
						
							|  |  |  |       url 'foo-1.0' | 
					
						
							|  |  |  |       head 'foo' | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert_spec_selected :stable | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-04-13 17:40:13 -05:00
										 |  |  | end |