diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index 229139838b..cd0f1d66ce 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -48,7 +48,7 @@ module Homebrew result = Formulary.factory(query).name results = Array(result) rescue FormulaUnavailableError - results = search_taps(query) + results = search_taps(query.split('/')[-1]) end puts Formatter.columns(results) unless results.empty? diff --git a/Library/Homebrew/test/cmd/search_spec.rb b/Library/Homebrew/test/cmd/search_spec.rb index bd2056a48c..84cc24d41d 100644 --- a/Library/Homebrew/test/cmd/search_spec.rb +++ b/Library/Homebrew/test/cmd/search_spec.rb @@ -1,6 +1,7 @@ describe "brew search", :integration_test do before(:each) do setup_test_formula "testball" + setup_remote_tap "caskroom/cask/test" end it "lists all available Formulae when no argument is given" do @@ -24,6 +25,13 @@ describe "brew search", :integration_test do .and be_a_success end + it "falls back to a tap search when no formula is found" do + expect { brew "search", "caskroom/cask/firefox" } + .to output(/firefox/).to_stdout + .and not_to_output.to_stderr + .and be_a_success + end + describe "--desc" do let(:desc_cache) { HOMEBREW_CACHE/"desc_cache.json" }