diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index ce72549531..5beab2f30a 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -42,6 +42,10 @@ require "formula" require "keg" require "tab" require "json" +require_relative "../cask/cmd/abstract_command" +require_relative "../cask/cmd/info" +require_relative "../cask/cask_loader" +require_relative "../cask/installer" module Homebrew module_function @@ -126,6 +130,11 @@ module Homebrew if (reason = MissingFormula.reason(f)) $stderr.puts reason end + begin + ohai "Searching for a cask with the name \"#{f}\"" + cask = Cask::CaskLoader.load(f) + Cask::Cmd::Info.info(cask) + end end end end diff --git a/Library/Homebrew/test/cmd/info_spec.rb b/Library/Homebrew/test/cmd/info_spec.rb index b318576e63..2cc5339cf9 100644 --- a/Library/Homebrew/test/cmd/info_spec.rb +++ b/Library/Homebrew/test/cmd/info_spec.rb @@ -18,6 +18,24 @@ describe "brew info", :integration_test do .and not_to_output.to_stderr .and be_a_success end + + it "looks for a Cask with the same name if a given Formula does not exist" do + expect { brew "info", "basic-cask" } + .to output(/Searching for a cask with the name "basic-cask"/).to_stdout + .and output(/No available formula with the name "basic-cask"/).to_stderr + end + + it "does not look for a Cask if a given Formula exists" do + RSpec::Matchers.define_negated_matcher :not_output, :output + expect { brew "info", "testball" } + .to not_output(/Searching for a cask with the name "testball"/).to_stdout + .and not_to_output.to_stderr + end + + it "prints an error message if a given Cask does not exist" do + expect { brew "info", "non_existant_cask" } + .to output(/No Cask with this name exists./).to_stderr + end end describe Homebrew do