brew/Library/Homebrew/test/cmd/--cache_spec.rb
2024-04-01 15:53:56 -07:00

42 lines
1.6 KiB
Ruby

# 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