 503d781150
			
		
	
	
		503d781150
		
	
	
	
	
		
			
			This avoids polluting other tests that might invoke the installer, thus executing any registered hooks.
		
			
				
	
	
		
			45 lines
		
	
	
		
			933 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			933 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'testing_env'
 | |
| require 'formula_installer'
 | |
| require 'hooks/bottles'
 | |
| 
 | |
| class BottleHookTests < Homebrew::TestCase
 | |
|   class FormulaDouble
 | |
|     def bottle; end
 | |
|     def local_bottle_path; end
 | |
|     def some_random_method; true; end
 | |
|   end
 | |
| 
 | |
|   def setup
 | |
|     @fi = FormulaInstaller.new FormulaDouble.new
 | |
|   end
 | |
| 
 | |
|   def test_has_bottle
 | |
|     Homebrew::Hooks::Bottles.setup_formula_has_bottle do |f|
 | |
|       f.some_random_method
 | |
|     end
 | |
|     assert_predicate @fi, :pour_bottle?
 | |
|   end
 | |
| 
 | |
|   def test_has_no_bottle
 | |
|     Homebrew::Hooks::Bottles.setup_formula_has_bottle do |f|
 | |
|       !f.some_random_method
 | |
|     end
 | |
|     refute_predicate @fi, :pour_bottle?
 | |
|   end
 | |
| 
 | |
|   def test_pour_formula_bottle
 | |
|     Homebrew::Hooks::Bottles.setup_formula_has_bottle do |f|
 | |
|       true
 | |
|     end
 | |
| 
 | |
|     Homebrew::Hooks::Bottles.setup_pour_formula_bottle do |f|
 | |
|       f.some_random_method
 | |
|     end
 | |
|     @fi.pour
 | |
|   end
 | |
| 
 | |
|   def teardown
 | |
|     Homebrew::Hooks::Bottles.reset_hooks
 | |
|   end
 | |
| end
 |