45 lines
		
	
	
		
			939 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			939 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 bottle_disabled?; false 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(&:some_random_method)
 | |
|     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(&:some_random_method)
 | |
|     @fi.pour
 | |
|   end
 | |
| 
 | |
|   def teardown
 | |
|     Homebrew::Hooks::Bottles.reset_hooks
 | |
|   end
 | |
| end
 | 
