 04c8e02418
			
		
	
	
		04c8e02418
		
			
		
	
	
	
	
		
			
			From reading https://github.com/orgs/Homebrew/discussions/3328: I initially thought we should just change "Updated" to "Modified" when appropriate. After conversation with Bo98, though, I thought more and saw that we're already checking for outdated formulae here so, rather than ever traverse through the formula history, look at the outdated formula and list them unless we've set `HOMEBREW_UPDATE_REPORT_ALL_FORMULAE` in which case we show the modifications. While we're here, also do a bit of reformatting and renaming to better clarify intent.
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # typed: false
 | |
| # frozen_string_literal: true
 | |
| 
 | |
| require "description_cache_store"
 | |
| 
 | |
| describe DescriptionCacheStore do
 | |
|   subject(:cache_store) { described_class.new(database) }
 | |
| 
 | |
|   let(:database) { double("database") }
 | |
|   let(:formula_name) { "test_name" }
 | |
|   let(:description) { "test_description" }
 | |
| 
 | |
|   describe "#update!" do
 | |
|     it "sets the formula description" do
 | |
|       expect(database).to receive(:set).with(formula_name, description)
 | |
|       cache_store.update!(formula_name, description)
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   describe "#delete!" do
 | |
|     it "deletes the formula description" do
 | |
|       expect(database).to receive(:delete).with(formula_name)
 | |
|       cache_store.delete!(formula_name)
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   describe "#update_from_report!" do
 | |
|     let(:report) { double(select_formula_or_cask: [], empty?: false) }
 | |
| 
 | |
|     it "reads from the report" do
 | |
|       expect(database).to receive(:empty?).at_least(:once).and_return(false)
 | |
|       cache_store.update_from_report!(report)
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   describe "#update_from_formula_names!" do
 | |
|     it "sets the formulae descriptions" do
 | |
|       f = formula do
 | |
|         url "url-1"
 | |
|         desc "desc"
 | |
|       end
 | |
|       expect(Formulary).to receive(:factory).with(f.name).and_return(f)
 | |
|       expect(database).to receive(:empty?).and_return(false)
 | |
|       expect(database).to receive(:set).with(f.name, f.desc)
 | |
|       cache_store.update_from_formula_names!([f.name])
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   describe "#delete_from_formula_names!" do
 | |
|     it "deletes the formulae descriptions" do
 | |
|       expect(database).to receive(:empty?).and_return(false)
 | |
|       expect(database).to receive(:delete).with(formula_name)
 | |
|       cache_store.delete_from_formula_names!([formula_name])
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   describe CaskDescriptionCacheStore do
 | |
|     subject(:cache_store) { described_class.new(database) }
 | |
| 
 | |
|     let(:database) { double("database") }
 | |
| 
 | |
|     describe "#update_from_report!" do
 | |
|       let(:report) { double(select_formula_or_cask: [], empty?: false) }
 | |
| 
 | |
|       it "reads from the report" do
 | |
|         expect(database).to receive(:empty?).at_least(:once).and_return(false)
 | |
|         cache_store.update_from_report!(report)
 | |
|       end
 | |
|     end
 | |
| 
 | |
|     describe "#update_from_cask_tokens!" do
 | |
|       it "sets the cask descriptions" do
 | |
|         c = Cask::Cask.new("cask-names-desc") do
 | |
|           url "url-1"
 | |
|           name "Name 1"
 | |
|           name "Name 2"
 | |
|           desc "description"
 | |
|         end
 | |
|         expect(Cask::CaskLoader).to receive(:load).with("cask-names-desc", any_args).and_return(c)
 | |
|         expect(database).to receive(:empty?).and_return(false)
 | |
|         expect(database).to receive(:set).with(c.full_name, [c.name.join(", "), c.desc.presence])
 | |
|         cache_store.update_from_cask_tokens!([c.token])
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |