
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
|