# frozen_string_literal: true require "cmd/--cache" require "cmd/shared_examples/args_parse" RSpec.describe Homebrew::Cmd::Cache do it_behaves_like "parseable arguments" it "prints all cache files for a given Formula", :integration_test do expect { brew "--cache", testball } .to output(%r{#{HOMEBREW_CACHE}/downloads/[\da-f]{64}--testball-}o).to_stdout .and be_a_success expect { brew "--cache", "--formula", testball } .to output(%r{#{HOMEBREW_CACHE}/downloads/[\da-f]{64}--testball-}o).to_stdout .and not_to_output.to_stderr .and be_a_success end it "prints the cache files for a given Cask", :integration_test, :needs_macos do expect { brew "--cache", cask_path("local-caffeine") } .to output(%r{#{HOMEBREW_CACHE}/downloads/[\da-f]{64}--caffeine\.zip}o).to_stdout .and output(/Treating #{Regexp.escape(cask_path("local-caffeine"))} as a cask/).to_stderr .and be_a_success expect { brew "--cache", "--cask", cask_path("local-caffeine") } .to output(%r{#{HOMEBREW_CACHE}/downloads/[\da-f]{64}--caffeine\.zip}o).to_stdout .and not_to_output.to_stderr .and be_a_success end it "prints the cache files for a given Formula and Cask", :integration_test, :needs_macos do expect { brew "--cache", testball, cask_path("local-caffeine") } .to output( %r{ #{HOMEBREW_CACHE}/downloads/[\da-f]{64}--testball-.*\n #{HOMEBREW_CACHE}/downloads/[\da-f]{64}--caffeine\.zip }xo, ).to_stdout .and output(/(Treating .* as a formula).*(Treating .* as a cask)/m).to_stderr .and be_a_success end end