32 lines
		
	
	
		
			950 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			950 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| require "cmd/shared_examples/args_parse"
 | |
| require "cmd/upgrade"
 | |
| 
 | |
| RSpec.describe Homebrew::Cmd::UpgradeCmd do
 | |
|   include FileUtils
 | |
|   it_behaves_like "parseable arguments"
 | |
| 
 | |
|   it "upgrades a Formula and cleans up old versions", :integration_test do
 | |
|     setup_test_formula "testball"
 | |
|     (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath
 | |
| 
 | |
|     expect { brew "upgrade" }.to be_a_success
 | |
| 
 | |
|     expect(HOMEBREW_CELLAR/"testball/0.1").to be_a_directory
 | |
|     expect(HOMEBREW_CELLAR/"testball/0.0.1").not_to exist
 | |
|   end
 | |
| 
 | |
|   it "upgrades with asking for user prompts", :integration_test do
 | |
|     setup_test_formula "testball"
 | |
|     (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath
 | |
| 
 | |
|     expect do
 | |
|       brew "upgrade", "--ask"
 | |
|     end.to output(/.*Formula\s*\(1\):\s*testball.*/).to_stdout.and not_to_output.to_stderr
 | |
| 
 | |
|     expect(HOMEBREW_CELLAR/"testball/0.1").to be_a_directory
 | |
|     expect(HOMEBREW_CELLAR/"testball/0.0.1").not_to exist
 | |
|   end
 | |
| end
 | 
