Merge pull request #18917 from Homebrew/send-args-to-cask-info

cask/info: send missing args after removing openstruct
This commit is contained in:
Mike McQuaid 2024-12-12 08:34:16 +00:00 committed by GitHub
commit 9783ab062c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 13 deletions

View File

@ -2,6 +2,7 @@
# frozen_string_literal: true # frozen_string_literal: true
require "json" require "json"
require "cmd/info"
module Cask module Cask
class Info class Info
@ -31,12 +32,12 @@ module Cask
output output
end end
sig { params(cask: Cask).void } sig { params(cask: Cask, args: Homebrew::Cmd::Info::Args).void }
def self.info(cask) def self.info(cask, args:)
puts get_info(cask) puts get_info(cask)
require "utils/analytics" require "utils/analytics"
::Utils::Analytics.cask_output(cask, args: Homebrew::CLI::Args.new) ::Utils::Analytics.cask_output(cask, args:)
end end
sig { params(cask: Cask).returns(String) } sig { params(cask: Cask).returns(String) }

View File

@ -382,7 +382,7 @@ module Homebrew
def info_cask(cask) def info_cask(cask)
require "cask/info" require "cask/info"
Cask::Info.info(cask) Cask::Info.info(cask, args:)
end end
end end
end end

View File

@ -3,6 +3,8 @@
require "utils" require "utils"
RSpec.describe Cask::Info, :cask do RSpec.describe Cask::Info, :cask do
let(:args) { instance_double(Homebrew::Cmd::Info::Args) }
before do before do
# Prevent unnecessary network requests in `Utils::Analytics.cask_output` # Prevent unnecessary network requests in `Utils::Analytics.cask_output`
ENV["HOMEBREW_NO_ANALYTICS"] = "1" ENV["HOMEBREW_NO_ANALYTICS"] = "1"
@ -10,7 +12,7 @@ RSpec.describe Cask::Info, :cask do
it "displays some nice info about the specified Cask" do it "displays some nice info about the specified Cask" do
expect do expect do
described_class.info(Cask::CaskLoader.load("local-transmission")) described_class.info(Cask::CaskLoader.load("local-transmission"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> local-transmission: 2.61 ==> local-transmission: 2.61
https://transmissionbt.com/ https://transmissionbt.com/
@ -27,7 +29,7 @@ RSpec.describe Cask::Info, :cask do
it "prints cask dependencies if the Cask has any" do it "prints cask dependencies if the Cask has any" do
expect do expect do
described_class.info(Cask::CaskLoader.load("with-depends-on-cask-multiple")) described_class.info(Cask::CaskLoader.load("with-depends-on-cask-multiple"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> with-depends-on-cask-multiple: 1.2.3 ==> with-depends-on-cask-multiple: 1.2.3
https://brew.sh/with-depends-on-cask-multiple https://brew.sh/with-depends-on-cask-multiple
@ -46,7 +48,7 @@ RSpec.describe Cask::Info, :cask do
it "prints cask and formulas dependencies if the Cask has both" do it "prints cask and formulas dependencies if the Cask has both" do
expect do expect do
described_class.info(Cask::CaskLoader.load("with-depends-on-everything")) described_class.info(Cask::CaskLoader.load("with-depends-on-everything"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> with-depends-on-everything: 1.2.3 ==> with-depends-on-everything: 1.2.3
https://brew.sh/with-depends-on-everything https://brew.sh/with-depends-on-everything
@ -65,7 +67,7 @@ RSpec.describe Cask::Info, :cask do
it "prints auto_updates if the Cask has `auto_updates true`" do it "prints auto_updates if the Cask has `auto_updates true`" do
expect do expect do
described_class.info(Cask::CaskLoader.load("with-auto-updates")) described_class.info(Cask::CaskLoader.load("with-auto-updates"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> with-auto-updates: 1.0 (auto_updates) ==> with-auto-updates: 1.0 (auto_updates)
https://brew.sh/autoupdates https://brew.sh/autoupdates
@ -82,7 +84,7 @@ RSpec.describe Cask::Info, :cask do
it "prints caveats if the Cask provided one" do it "prints caveats if the Cask provided one" do
expect do expect do
described_class.info(Cask::CaskLoader.load("with-caveats")) described_class.info(Cask::CaskLoader.load("with-caveats"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> with-caveats: 1.2.3 ==> with-caveats: 1.2.3
https://brew.sh/ https://brew.sh/
@ -109,7 +111,7 @@ RSpec.describe Cask::Info, :cask do
it 'does not print "Caveats" section divider if the caveats block has no output' do it 'does not print "Caveats" section divider if the caveats block has no output' do
expect do expect do
described_class.info(Cask::CaskLoader.load("with-conditional-caveats")) described_class.info(Cask::CaskLoader.load("with-conditional-caveats"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> with-conditional-caveats: 1.2.3 ==> with-conditional-caveats: 1.2.3
https://brew.sh/ https://brew.sh/
@ -126,7 +128,7 @@ RSpec.describe Cask::Info, :cask do
it "prints languages specified in the Cask" do it "prints languages specified in the Cask" do
expect do expect do
described_class.info(Cask::CaskLoader.load("with-languages")) described_class.info(Cask::CaskLoader.load("with-languages"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> with-languages: 1.2.3 ==> with-languages: 1.2.3
https://brew.sh/ https://brew.sh/
@ -145,7 +147,7 @@ RSpec.describe Cask::Info, :cask do
it 'does not print "Languages" section divider if the languages block has no output' do it 'does not print "Languages" section divider if the languages block has no output' do
expect do expect do
described_class.info(Cask::CaskLoader.load("without-languages")) described_class.info(Cask::CaskLoader.load("without-languages"), args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> without-languages: 1.2.3 ==> without-languages: 1.2.3
https://brew.sh/ https://brew.sh/
@ -173,7 +175,7 @@ RSpec.describe Cask::Info, :cask do
expect(Cask::Tab).to receive(:for_cask).with(cask).and_return(tab) expect(Cask::Tab).to receive(:for_cask).with(cask).and_return(tab)
expect do expect do
described_class.info(cask) described_class.info(cask, args:)
end.to output(<<~EOS).to_stdout end.to output(<<~EOS).to_stdout
==> local-transmission: 2.61 ==> local-transmission: 2.61
https://transmissionbt.com/ https://transmissionbt.com/