aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMarkus Reiter2017-06-13 17:14:01 +0200
committerMarkus Reiter2017-06-13 19:45:29 +0200
commit9c8f7138f35625878e017559c896441fda6f357c (patch)
tree413c4d77a58c9cab4e57e5155bb5022d5d248e4d /Library
parent66ce57530150d05f52c552347ebb7c44679daf44 (diff)
downloadbrew-9c8f7138f35625878e017559c896441fda6f357c.tar.bz2
Add `casks` method to iterate through arguments.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb37
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/audit.rb7
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/cat.rb10
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/cleanup.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/edit.rb10
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/fetch.rb9
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/home.rb4
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/info.rb6
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/install.rb32
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/internal_dump.rb18
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb35
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/list.rb44
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/outdated.rb4
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/reinstall.rb26
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/style.rb2
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/uninstall.rb13
-rw-r--r--Library/Homebrew/cask/lib/hbc/cli/zap.rb9
-rw-r--r--Library/Homebrew/test/cask/cli/audit_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/cat_spec.rb6
-rw-r--r--Library/Homebrew/test/cask/cli/fetch_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/install_spec.rb6
-rw-r--r--Library/Homebrew/test/cask/cli/style_spec.rb2
-rw-r--r--Library/Homebrew/test/cask/cli/uninstall_spec.rb20
-rw-r--r--Library/Homebrew/test/cask/cli/zap_spec.rb6
24 files changed, 128 insertions, 184 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb b/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb
index c83fc3e42..77f85301e 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb
@@ -41,6 +41,43 @@ module Hbc
def initialize(*args)
@args = process_arguments(*args)
end
+
+ def self.warn_unavailable_with_suggestion(cask_token, e)
+ exact_match, partial_matches = Search.search(cask_token)
+ error_message = e.message
+ if exact_match
+ error_message.concat(" Did you mean:\n#{exact_match}")
+ elsif !partial_matches.empty?
+ error_message.concat(" Did you mean one of:\n")
+ .concat(Formatter.columns(partial_matches.take(20)))
+ end
+ onoe error_message
+ end
+
+ private
+
+ def casks(alternative: -> { [] })
+ return to_enum(:casks, alternative: alternative) unless block_given?
+
+ count = 0
+
+ casks = args.empty? ? alternative.call : args
+
+ casks.each do |cask_or_token|
+ begin
+ yield cask_or_token.respond_to?(:token) ? cask_or_token : CaskLoader.load(cask_or_token)
+ count += 1
+ rescue CaskUnavailableError => e
+ cask_token = cask_or_token
+ self.class.warn_unavailable_with_suggestion cask_token, e
+ rescue CaskError => e
+ onoe e.message
+ end
+ end
+
+ return :empty if casks.length.zero?
+ (count == casks.length) ? :complete : :incomplete
+ end
end
end
end
diff --git a/Library/Homebrew/cask/lib/hbc/cli/audit.rb b/Library/Homebrew/cask/lib/hbc/cli/audit.rb
index 74d1ebfa7..35d82800c 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/audit.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/audit.rb
@@ -9,11 +9,8 @@ module Hbc
end
def run
- casks_to_audit = args.empty? ? Hbc.all : args.map(&CaskLoader.public_method(:load))
-
- failed_casks = casks_to_audit.reject do |cask|
- audit(cask)
- end
+ failed_casks = casks(alternative: -> { Hbc.all })
+ .reject { |cask| audit(cask) }
return if failed_casks.empty?
raise CaskError, "audit failed for casks: #{failed_casks.join(" ")}"
diff --git a/Library/Homebrew/cask/lib/hbc/cli/cat.rb b/Library/Homebrew/cask/lib/hbc/cli/cat.rb
index e68481b46..d08c87bea 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/cat.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/cat.rb
@@ -7,10 +7,12 @@ module Hbc
end
def run
- args.each do |cask_token|
- cask_path = CaskLoader.path(cask_token)
- raise CaskUnavailableError, cask_token.to_s unless cask_path.exist?
- puts File.open(cask_path, &:read)
+ raise CaskError, "Cat incomplete." if cat_casks == :incomplete
+ end
+
+ def cat_casks
+ casks.each do |cask|
+ puts File.open(cask.sourcefile_path, &:read)
end
end
diff --git a/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb b/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb
index 40b37dd5d..356162db5 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/cleanup.rb
@@ -20,7 +20,7 @@ module Hbc
end
def run
- remove_cache_files(*@args)
+ remove_cache_files(*args)
end
def cache_files
diff --git a/Library/Homebrew/cask/lib/hbc/cli/edit.rb b/Library/Homebrew/cask/lib/hbc/cli/edit.rb
index 77238d209..b9485886c 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/edit.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/edit.rb
@@ -9,10 +9,12 @@ module Hbc
def run
cask_token = args.first
- cask_path = CaskLoader.path(cask_token)
-
- unless cask_path.exist?
- raise CaskUnavailableError.new(cask_token, "Run #{Formatter.identifier("brew cask create #{cask_token}")} to create a new Cask.")
+ cask_path = begin
+ CaskLoader.load(cask_token).sourcefile_path
+ rescue CaskUnavailableError => e
+ reason = e.reason.empty? ? "" : "#{e.reason} "
+ reason.concat("Run #{Formatter.identifier("brew cask create #{e.token}")} to create a new Cask.")
+ raise e.class.new(e.token, reason)
end
odebug "Opening editor for Cask #{cask_token}"
diff --git a/Library/Homebrew/cask/lib/hbc/cli/fetch.rb b/Library/Homebrew/cask/lib/hbc/cli/fetch.rb
index 2c1cc5f66..e31b1a17c 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/fetch.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/fetch.rb
@@ -9,9 +9,12 @@ module Hbc
end
def run
- args.each do |cask_token|
- ohai "Downloading external files for Cask #{cask_token}"
- cask = CaskLoader.load(cask_token)
+ raise CaskError, "Fetch incomplete." if fetch_casks == :incomplete
+ end
+
+ def fetch_casks
+ casks.each do |cask|
+ ohai "Downloading external files for Cask #{cask}"
downloaded_path = Download.new(cask, force: force?).perform
Verify.all(cask, downloaded_path)
ohai "Success! Downloaded to -> #{downloaded_path}"
diff --git a/Library/Homebrew/cask/lib/hbc/cli/home.rb b/Library/Homebrew/cask/lib/hbc/cli/home.rb
index 009bc1e3e..d496e309e 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/home.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/home.rb
@@ -2,9 +2,7 @@ module Hbc
class CLI
class Home < AbstractCommand
def run
- casks = args.map(&CaskLoader.public_method(:load))
-
- if casks.empty?
+ if casks.none?
odebug "Opening project homepage"
self.class.open_url "https://caskroom.github.io/"
else
diff --git a/Library/Homebrew/cask/lib/hbc/cli/info.rb b/Library/Homebrew/cask/lib/hbc/cli/info.rb
index 623c4b737..d26747e17 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/info.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/info.rb
@@ -7,10 +7,8 @@ module Hbc
end
def run
- args.each do |cask_token|
- odebug "Getting info for Cask #{cask_token}"
- cask = CaskLoader.load(cask_token)
-
+ casks.each do |cask|
+ odebug "Getting info for Cask #{cask}"
self.class.info(cask)
end
end
diff --git a/Library/Homebrew/cask/lib/hbc/cli/install.rb b/Library/Homebrew/cask/lib/hbc/cli/install.rb
index 4ac98d1de..0f1a5dd34 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/install.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/install.rb
@@ -10,47 +10,21 @@ module Hbc
end
def run
- retval = install_casks
- # retval is ternary: true/false/nil
-
- raise CaskError, "nothing to install" if retval.nil?
- raise CaskError, "install incomplete" unless retval
+ raise CaskError, "Install incomplete." if install_casks == :incomplete
end
def install_casks
- count = 0
- args.each do |cask_token|
+ casks.each do |cask|
begin
- cask = CaskLoader.load(cask_token)
Installer.new(cask, binaries: binaries?,
- verbose: verbose?,
+ verbose: verbose?,
force: force?,
skip_cask_deps: skip_cask_deps?,
require_sha: require_sha?).install
- count += 1
rescue CaskAlreadyInstalledError => e
opoo e.message
- count += 1
- rescue CaskUnavailableError => e
- self.class.warn_unavailable_with_suggestion cask_token, e
- rescue CaskError => e
- onoe e.message
end
end
-
- count.zero? ? nil : count == args.length
- end
-
- def self.warn_unavailable_with_suggestion(cask_token, e)
- exact_match, partial_matches = Search.search(cask_token)
- error_message = e.message
- if exact_match
- error_message.concat(" Did you mean:\n#{exact_match}")
- elsif !partial_matches.empty?
- error_message.concat(" Did you mean one of:\n")
- .concat(Formatter.columns(partial_matches.take(20)))
- end
- onoe error_message
end
def self.help
diff --git a/Library/Homebrew/cask/lib/hbc/cli/internal_dump.rb b/Library/Homebrew/cask/lib/hbc/cli/internal_dump.rb
index 78dbf1622..e21ce86b6 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/internal_dump.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/internal_dump.rb
@@ -7,25 +7,11 @@ module Hbc
end
def run
- retval = dump_casks
- # retval is ternary: true/false/nil
-
- raise CaskError, "nothing to dump" if retval.nil?
- raise CaskError, "dump incomplete" unless retval
+ raise CaskError, "Dump incomplete." if dump_casks == :incomplet
end
def dump_casks
- count = 0
- args.each do |cask_token|
- begin
- cask = CaskLoader.load(cask_token)
- count += 1
- cask.dumpcask
- rescue StandardError => e
- opoo "#{cask_token} was not found or would not load: #{e}"
- end
- end
- count.zero? ? nil : count == args.length
+ casks.each(&:dumpcask)
end
def self.help
diff --git a/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb b/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb
index 86dee7c9c..4515fe931 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb
@@ -72,38 +72,22 @@ module Hbc
end
def run
- retval = print_stanzas
- # retval is ternary: true/false/nil
- if retval.nil?
- exit 1 if quiet?
- raise CaskError, "nothing to print"
- elsif !retval
- exit 1 if quiet?
- raise CaskError, "print incomplete"
- end
+ return unless print_stanzas == :incomplete
+ exit 1 if quiet?
+ raise CaskError, "Print incomplete."
end
def print_stanzas
- count = 0
if ARTIFACTS.include?(stanza)
artifact_name = stanza
@stanza = :artifacts
end
- cask_tokens = args.empty? ? Hbc.all_tokens : args
- cask_tokens.each do |cask_token|
- print "#{cask_token}\t" if table?
-
- begin
- cask = CaskLoader.load(cask_token)
- rescue StandardError
- opoo "Cask '#{cask_token}' was not found" unless quiet?
- puts ""
- next
- end
+ casks(alternative: -> { Hbc.all }).each do |cask|
+ print "#{cask}\t" if table?
unless cask.respond_to?(stanza)
- opoo "no such stanza '#{stanza}' on Cask '#{cask_token}'" unless quiet?
+ opoo "no such stanza '#{stanza}' on Cask '#{cask}'" unless quiet?
puts ""
next
end
@@ -111,13 +95,13 @@ module Hbc
begin
value = cask.send(@stanza)
rescue StandardError
- opoo "failure calling '#{stanza}' on Cask '#{cask_token}'" unless quiet?
+ opoo "failure calling '#{stanza}' on Cask '#{cask}'" unless quiet?
puts ""
next
end
if artifact_name && !value.key?(artifact_name)
- opoo "no such stanza '#{artifact_name}' on Cask '#{cask_token}'" unless quiet?
+ opoo "no such stanza '#{artifact_name}' on Cask '#{cask}'" unless quiet?
puts ""
next
end
@@ -131,10 +115,7 @@ module Hbc
else
puts value.to_s
end
-
- count += 1
end
- count.zero? ? nil : count == cask_tokens.length
end
def self.help
diff --git a/Library/Homebrew/cask/lib/hbc/cli/list.rb b/Library/Homebrew/cask/lib/hbc/cli/list.rb
index 9d2ded4be..9d978360e 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/list.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/list.rb
@@ -11,44 +11,22 @@ module Hbc
def run
retval = args.any? ? list : list_installed
- # retval is ternary: true/false/nil
- if retval.nil? && args.none?
- opoo "nothing to list" # special case: avoid exit code
- elsif retval.nil?
- raise CaskError, "nothing to list"
- elsif !retval
- raise CaskError, "listing incomplete"
- end
+ raise CaskError, "Listing incomplete." if retval == :incomplete
end
def list
- count = 0
-
- args.each do |cask_token|
- odebug "Listing files for Cask #{cask_token}"
- begin
- cask = CaskLoader.load(cask_token)
+ casks.each do |cask|
+ raise CaskNotInstalledError, cask unless cask.installed?
- if cask.installed?
- if one?
- puts cask.token
- elsif versions?
- puts self.class.format_versioned(cask)
- else
- cask = CaskLoader.load_from_file(cask.installed_caskfile)
- self.class.list_artifacts(cask)
- end
-
- count += 1
- else
- opoo "#{cask} is not installed"
- end
- rescue CaskUnavailableError => e
- onoe e
+ if one?
+ puts cask.token
+ elsif versions?
+ puts self.class.format_versioned(cask)
+ else
+ cask = CaskLoader.load_from_file(cask.installed_caskfile)
+ self.class.list_artifacts(cask)
end
end
-
- count.zero? ? nil : count == args.length
end
def self.list_artifacts(cask)
@@ -69,7 +47,7 @@ module Hbc
puts Formatter.columns(installed_casks.map(&:to_s))
end
- installed_casks.empty? ? nil : true
+ installed_casks.empty? ? :empty : :complete
end
def self.format_versioned(cask)
diff --git a/Library/Homebrew/cask/lib/hbc/cli/outdated.rb b/Library/Homebrew/cask/lib/hbc/cli/outdated.rb
index 7877ead05..b0a84e8d2 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/outdated.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/outdated.rb
@@ -10,9 +10,7 @@ module Hbc
end
def run
- casks_to_check = args.empty? ? Hbc.installed : args.map(&CaskLoader.public_method(:load))
-
- casks_to_check.each do |cask|
+ casks(alternative: -> { Hbc.installed }).each do |cask|
odebug "Checking update info of Cask #{cask}"
self.class.list_if_outdated(cask, greedy?, verbose?)
end
diff --git a/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb b/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb
index d90317892..337a2eb9d 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/reinstall.rb
@@ -2,27 +2,13 @@ module Hbc
class CLI
class Reinstall < Install
def install_casks
- count = 0
- args.each do |cask_token|
- begin
- cask = CaskLoader.load(cask_token)
-
- Installer.new(cask,
- binaries: binaries?,
- verbose: verbose?,
- force: force?,
- skip_cask_deps: skip_cask_deps?,
- require_sha: require_sha?).reinstall
-
- count += 1
- rescue CaskUnavailableError => e
- self.class.warn_unavailable_with_suggestion cask_token, e
- rescue CaskError => e
- onoe e.message
- end
+ casks.each do |cask|
+ Installer.new(cask, binaries: binaries?,
+ verbose: verbose?,
+ force: force?,
+ skip_cask_deps: skip_cask_deps?,
+ require_sha: require_sha?).reinstall
end
-
- count.zero? ? nil : count == args.length
end
def self.help
diff --git a/Library/Homebrew/cask/lib/hbc/cli/style.rb b/Library/Homebrew/cask/lib/hbc/cli/style.rb
index c9417f509..86fc98eaa 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/style.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/style.rb
@@ -31,7 +31,7 @@ module Hbc
elsif args.any? { |file| File.exist?(file) }
args
else
- args.map { |token| CaskLoader.path(token) }
+ casks.map(&:sourcefile_path)
end
end
diff --git a/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb b/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb
index 33ee5afa9..c0697c808 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/uninstall.rb
@@ -9,9 +9,12 @@ module Hbc
end
def run
- args.each do |cask_token|
- odebug "Uninstalling Cask #{cask_token}"
- cask = CaskLoader.load(cask_token)
+ raise CaskError, "Uninstall incomplete." if uninstall_casks == :incomplete
+ end
+
+ def uninstall_casks
+ casks.each do |cask|
+ odebug "Uninstalling Cask #{cask}"
raise CaskNotInstalledError, cask unless cask.installed? || force?
@@ -27,8 +30,8 @@ module Hbc
single = versions.count == 1
puts <<-EOS.undent
- #{cask_token} #{versions.join(", ")} #{single ? "is" : "are"} still installed.
- Remove #{single ? "it" : "them all"} with `brew cask uninstall --force #{cask_token}`.
+ #{cask} #{versions.join(", ")} #{single ? "is" : "are"} still installed.
+ Remove #{single ? "it" : "them all"} with `brew cask uninstall --force #{cask}`.
EOS
end
end
diff --git a/Library/Homebrew/cask/lib/hbc/cli/zap.rb b/Library/Homebrew/cask/lib/hbc/cli/zap.rb
index 3c07ff9e8..d12943106 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/zap.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/zap.rb
@@ -7,9 +7,12 @@ module Hbc
end
def run
- args.each do |cask_token|
- odebug "Zapping Cask #{cask_token}"
- cask = CaskLoader.load(cask_token)
+ raise CaskError, "Zap incomplete." if zap_casks == :incomplete
+ end
+
+ def zap_casks
+ casks.each do |cask|
+ odebug "Zapping Cask #{cask}"
Installer.new(cask, verbose: verbose?).zap
end
end
diff --git a/Library/Homebrew/test/cask/cli/audit_spec.rb b/Library/Homebrew/test/cask/cli/audit_spec.rb
index 412db1481..01f506c8c 100644
--- a/Library/Homebrew/test/cask/cli/audit_spec.rb
+++ b/Library/Homebrew/test/cask/cli/audit_spec.rb
@@ -1,5 +1,5 @@
describe Hbc::CLI::Audit, :cask do
- let(:cask) { double }
+ let(:cask) { double("cask", token: nil) }
describe "selection of Casks to audit" do
it "audits all Casks if no tokens are given" do
diff --git a/Library/Homebrew/test/cask/cli/cat_spec.rb b/Library/Homebrew/test/cask/cli/cat_spec.rb
index 28089b2f1..b726a0b36 100644
--- a/Library/Homebrew/test/cask/cli/cat_spec.rb
+++ b/Library/Homebrew/test/cask/cli/cat_spec.rb
@@ -34,9 +34,9 @@ describe Hbc::CLI::Cat, :cask do
end
it "raises an exception when the Cask does not exist" do
- expect {
- Hbc::CLI::Cat.run("notacask")
- }.to raise_error(Hbc::CaskUnavailableError)
+ expect { Hbc::CLI::Cat.run("notacask") }
+ .to output(/is unavailable/).to_stderr
+ .and raise_error(Hbc::CaskError, "Cat incomplete.")
end
describe "when no Cask is specified" do
diff --git a/Library/Homebrew/test/cask/cli/fetch_spec.rb b/Library/Homebrew/test/cask/cli/fetch_spec.rb
index 9f3056631..54bdfc0c8 100644
--- a/Library/Homebrew/test/cask/cli/fetch_spec.rb
+++ b/Library/Homebrew/test/cask/cli/fetch_spec.rb
@@ -54,7 +54,7 @@ describe Hbc::CLI::Fetch, :cask do
shutup do
Hbc::CLI::Fetch.run("notacask")
end
- }.to raise_error(Hbc::CaskUnavailableError)
+ }.to raise_error(Hbc::CaskError, "Fetch incomplete.")
end
describe "when no Cask is specified" do
diff --git a/Library/Homebrew/test/cask/cli/install_spec.rb b/Library/Homebrew/test/cask/cli/install_spec.rb
index 0720d0d77..cf69b5d86 100644
--- a/Library/Homebrew/test/cask/cli/install_spec.rb
+++ b/Library/Homebrew/test/cask/cli/install_spec.rb
@@ -70,7 +70,7 @@ describe Hbc::CLI::Install, :cask do
shutup do
Hbc::CLI::Install.run("notacask")
end
- }.to raise_error(Hbc::CaskError)
+ }.to raise_error(Hbc::CaskError, "Install incomplete.")
end
it "returns a suggestion for a misspelled Cask" do
@@ -80,7 +80,7 @@ describe Hbc::CLI::Install, :cask do
rescue Hbc::CaskError
nil
end
- }.to output(/Cask 'localcaffeine' is unavailable\. Did you mean:\nlocal-caffeine/).to_stderr
+ }.to output(/Cask 'localcaffeine' is unavailable: No Cask with this name exists\. Did you mean:\nlocal-caffeine/).to_stderr
end
it "returns multiple suggestions for a Cask fragment" do
@@ -90,7 +90,7 @@ describe Hbc::CLI::Install, :cask do
rescue Hbc::CaskError
nil
end
- }.to output(/Cask 'local-caf' is unavailable\. Did you mean one of:\nlocal-caffeine/).to_stderr
+ }.to output(/Cask 'local-caf' is unavailable: No Cask with this name exists\. Did you mean one of:\nlocal-caffeine/).to_stderr
end
describe "when no Cask is specified" do
diff --git a/Library/Homebrew/test/cask/cli/style_spec.rb b/Library/Homebrew/test/cask/cli/style_spec.rb
index a5dcf6f6f..640eca5f4 100644
--- a/Library/Homebrew/test/cask/cli/style_spec.rb
+++ b/Library/Homebrew/test/cask/cli/style_spec.rb
@@ -107,7 +107,7 @@ describe Hbc::CLI::Style, :cask do
end
it "tries to find paths for all tokens" do
- expect(Hbc::CaskLoader).to receive(:path).twice
+ expect(Hbc::CaskLoader).to receive(:load).twice.and_return(double("cask", sourcefile_path: nil))
subject
end
end
diff --git a/Library/Homebrew/test/cask/cli/uninstall_spec.rb b/Library/Homebrew/test/cask/cli/uninstall_spec.rb
index bc1f52613..cc640fad7 100644
--- a/Library/Homebrew/test/cask/cli/uninstall_spec.rb
+++ b/Library/Homebrew/test/cask/cli/uninstall_spec.rb
@@ -17,15 +17,15 @@ describe Hbc::CLI::Uninstall, :cask do
end
it "shows an error when a bad Cask is provided" do
- expect {
- Hbc::CLI::Uninstall.run("notacask")
- }.to raise_error(Hbc::CaskUnavailableError)
+ expect { Hbc::CLI::Uninstall.run("notacask") }
+ .to output(/is unavailable/).to_stderr
+ .and raise_error(Hbc::CaskError, "Uninstall incomplete.")
end
it "shows an error when a Cask is provided that's not installed" do
- expect {
- Hbc::CLI::Uninstall.run("local-caffeine")
- }.to raise_error(Hbc::CaskNotInstalledError)
+ expect { Hbc::CLI::Uninstall.run("local-caffeine") }
+ .to output(/is not installed/).to_stderr
+ .and raise_error(Hbc::CaskError, "Uninstall incomplete.")
end
it "tries anyway on a non-present Cask when --force is given" do
@@ -89,11 +89,9 @@ describe Hbc::CLI::Uninstall, :cask do
Hbc.appdir.join("MyFancyApp.app").rmtree
- expect {
- shutup do
- Hbc::CLI::Uninstall.run("with-uninstall-script-app")
- end
- }.to raise_error(Hbc::CaskError, /does not exist/)
+ expect { shutup { Hbc::CLI::Uninstall.run("with-uninstall-script-app") } }
+ .to output(/does not exist/).to_stderr
+ .and raise_error(Hbc::CaskError, "Uninstall incomplete.")
expect(cask).to be_installed
diff --git a/Library/Homebrew/test/cask/cli/zap_spec.rb b/Library/Homebrew/test/cask/cli/zap_spec.rb
index f3af0e66f..e39ca61f8 100644
--- a/Library/Homebrew/test/cask/cli/zap_spec.rb
+++ b/Library/Homebrew/test/cask/cli/zap_spec.rb
@@ -1,8 +1,8 @@
describe Hbc::CLI::Zap, :cask do
it "shows an error when a bad Cask is provided" do
- expect {
- Hbc::CLI::Zap.run("notacask")
- }.to raise_error(Hbc::CaskUnavailableError)
+ expect { Hbc::CLI::Zap.run("notacask") }
+ .to output(/is unavailable/).to_stderr
+ .and raise_error(Hbc::CaskError, "Zap incomplete.")
end
it "can zap and unlink multiple Casks at once" do