Merge pull request #17757 from krehel/fix-cask-info
This commit is contained in:
		
						commit
						d4910cc490
					
				@ -42,16 +42,15 @@ module Cask
 | 
			
		||||
      return "Not installed" unless cask.installed?
 | 
			
		||||
 | 
			
		||||
      versioned_staged_path = cask.caskroom_path.join(cask.installed_version)
 | 
			
		||||
      path_details = if versioned_staged_path.exist?
 | 
			
		||||
        versioned_staged_path.abv
 | 
			
		||||
      else
 | 
			
		||||
        Formatter.error("does not exist")
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      return "Installed\n#{versioned_staged_path} (#{Formatter.error("does not exist")})\n" unless versioned_staged_path.exist?
 | 
			
		||||
 | 
			
		||||
      path_details = versioned_staged_path.children.sum(&:disk_usage)
 | 
			
		||||
 | 
			
		||||
      tab = Tab.for_cask(cask)
 | 
			
		||||
 | 
			
		||||
      info = ["Installed"]
 | 
			
		||||
      info << "#{versioned_staged_path} (#{path_details})"
 | 
			
		||||
      info << "#{versioned_staged_path} (#{disk_usage_readable(path_details)})"
 | 
			
		||||
      info << "  #{tab}" if tab.tabfile&.exist?
 | 
			
		||||
      info.join("\n")
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
@ -123,28 +123,33 @@ RSpec.describe Cask::Info, :cask do
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  it "prints install information for an installed Cask" do
 | 
			
		||||
    cask = Cask::CaskLoader.load("local-transmission")
 | 
			
		||||
    time = 1_720_189_863
 | 
			
		||||
    tab = Cask::Tab.new(loaded_from_api: true, tabfile: TEST_FIXTURE_DIR/"cask_receipt.json", time:)
 | 
			
		||||
    expect(cask).to receive(:installed?).and_return(true)
 | 
			
		||||
    expect(cask).to receive(:installed_version).and_return("2.61")
 | 
			
		||||
    expect(Cask::Tab).to receive(:for_cask).with(cask).and_return(tab)
 | 
			
		||||
    mktmpdir do |caskroom|
 | 
			
		||||
      FileUtils.mkdir caskroom/"2.61"
 | 
			
		||||
 | 
			
		||||
    expect do
 | 
			
		||||
      described_class.info(cask)
 | 
			
		||||
    end.to output(<<~EOS).to_stdout
 | 
			
		||||
      ==> local-transmission: 2.61
 | 
			
		||||
      https://transmissionbt.com/
 | 
			
		||||
      Installed
 | 
			
		||||
      #{HOMEBREW_PREFIX}/Caskroom/local-transmission/2.61 (does not exist)
 | 
			
		||||
        Installed using the formulae.brew.sh API on #{Time.at(time).strftime("%Y-%m-%d at %H:%M:%S")}
 | 
			
		||||
      From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/l/local-transmission.rb
 | 
			
		||||
      ==> Name
 | 
			
		||||
      Transmission
 | 
			
		||||
      ==> Description
 | 
			
		||||
      BitTorrent client
 | 
			
		||||
      ==> Artifacts
 | 
			
		||||
      Transmission.app (App)
 | 
			
		||||
    EOS
 | 
			
		||||
      cask = Cask::CaskLoader.load("local-transmission")
 | 
			
		||||
      time = 1_720_189_863
 | 
			
		||||
      tab = Cask::Tab.new(loaded_from_api: true, tabfile: TEST_FIXTURE_DIR/"cask_receipt.json", time:)
 | 
			
		||||
      expect(cask).to receive(:installed?).and_return(true)
 | 
			
		||||
      expect(cask).to receive(:caskroom_path).and_return(caskroom)
 | 
			
		||||
      expect(cask).to receive(:installed_version).and_return("2.61")
 | 
			
		||||
      expect(Cask::Tab).to receive(:for_cask).with(cask).and_return(tab)
 | 
			
		||||
 | 
			
		||||
      expect do
 | 
			
		||||
        described_class.info(cask)
 | 
			
		||||
      end.to output(<<~EOS).to_stdout
 | 
			
		||||
        ==> local-transmission: 2.61
 | 
			
		||||
        https://transmissionbt.com/
 | 
			
		||||
        Installed
 | 
			
		||||
        #{caskroom}/2.61 (0B)
 | 
			
		||||
          Installed using the formulae.brew.sh API on #{Time.at(time).strftime("%Y-%m-%d at %H:%M:%S")}
 | 
			
		||||
        From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/l/local-transmission.rb
 | 
			
		||||
        ==> Name
 | 
			
		||||
        Transmission
 | 
			
		||||
        ==> Description
 | 
			
		||||
        BitTorrent client
 | 
			
		||||
        ==> Artifacts
 | 
			
		||||
        Transmission.app (App)
 | 
			
		||||
      EOS
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user