From 348fefea106d75bae5d1ffe814fc309540040d68 Mon Sep 17 00:00:00 2001 From: Ben Muschol Date: Fri, 11 Aug 2017 13:04:37 -0400 Subject: [PATCH 1/4] Replace search_tap with search_taps --- Library/Homebrew/cmd/search.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index 5b83d80e22..229139838b 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -43,15 +43,14 @@ module Homebrew Descriptions.search(regex, :desc).print elsif ARGV.first =~ HOMEBREW_TAP_FORMULA_REGEX query = ARGV.first - user, repo, name = query.split("/", 3) begin result = Formulary.factory(query).name + results = Array(result) rescue FormulaUnavailableError - result = search_tap(user, repo, name) + results = search_taps(query) end - results = Array(result) puts Formatter.columns(results) unless results.empty? else query = ARGV.first From b06fceda57ea8306e130ba11ccb2bd71f6907c23 Mon Sep 17 00:00:00 2001 From: Ben Muschol Date: Fri, 11 Aug 2017 15:49:57 -0400 Subject: [PATCH 2/4] Add a test --- Library/Homebrew/cmd/search.rb | 2 +- Library/Homebrew/test/cmd/search_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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" } From eb009503ed8c8c86506f548d4d950b256b25d14c Mon Sep 17 00:00:00 2001 From: Ben Muschol Date: Fri, 11 Aug 2017 15:52:50 -0400 Subject: [PATCH 3/4] Fix test typo --- Library/Homebrew/test/cmd/search_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/test/cmd/search_spec.rb b/Library/Homebrew/test/cmd/search_spec.rb index 84cc24d41d..7c97e6e357 100644 --- a/Library/Homebrew/test/cmd/search_spec.rb +++ b/Library/Homebrew/test/cmd/search_spec.rb @@ -1,7 +1,7 @@ describe "brew search", :integration_test do before(:each) do setup_test_formula "testball" - setup_remote_tap "caskroom/cask/test" + setup_remote_tap "caskroom/cask" end it "lists all available Formulae when no argument is given" do From cb1650075c9f6c74a637f108e3f43deb4250b837 Mon Sep 17 00:00:00 2001 From: Ben Muschol Date: Fri, 11 Aug 2017 15:59:08 -0400 Subject: [PATCH 4/4] Fix style --- Library/Homebrew/cmd/search.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index cd0f1d66ce..0d47f8ab17 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -48,7 +48,8 @@ module Homebrew result = Formulary.factory(query).name results = Array(result) rescue FormulaUnavailableError - results = search_taps(query.split('/')[-1]) + _, _, name = query.split("/", 3) + results = search_taps(name) end puts Formatter.columns(results) unless results.empty?