home: write tests using cask as argument
This commit is contained in:
parent
9b1d58c53c
commit
0495281325
@ -32,14 +32,13 @@ module Homebrew
|
|||||||
puts HOMEBREW_CACHE
|
puts HOMEBREW_CACHE
|
||||||
else
|
else
|
||||||
args.named.each do |name|
|
args.named.each do |name|
|
||||||
begin
|
|
||||||
formula = Formulary.factory name
|
formula = Formulary.factory name
|
||||||
if Fetch.fetch_bottle?(formula)
|
if Fetch.fetch_bottle?(formula)
|
||||||
puts formula.bottle.cached_download
|
puts formula.bottle.cached_download
|
||||||
else
|
else
|
||||||
puts formula.cached_download
|
puts formula.cached_download
|
||||||
end
|
end
|
||||||
rescue FormulaUnavailableError => e
|
rescue FormulaUnavailableError
|
||||||
begin
|
begin
|
||||||
cask = Cask::CaskLoader.load name
|
cask = Cask::CaskLoader.load name
|
||||||
puts "cask: #{Cask::Cmd::Cache.cached_location(cask)}"
|
puts "cask: #{Cask::Cmd::Cache.cached_location(cask)}"
|
||||||
@ -50,5 +49,3 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
|
||||||
|
|||||||
@ -25,21 +25,20 @@ module Homebrew
|
|||||||
if args.no_named?
|
if args.no_named?
|
||||||
exec_browser HOMEBREW_WWW
|
exec_browser HOMEBREW_WWW
|
||||||
else
|
else
|
||||||
homepages = args.named.flat_map do |name|
|
homepages = args.named.flat_map do |ref|
|
||||||
begin
|
[Formulary.factory(ref).homepage]
|
||||||
[Formulary.factory(name).homepage]
|
|
||||||
rescue FormulaUnavailableError => e
|
rescue FormulaUnavailableError => e
|
||||||
puts e.message
|
puts e.message
|
||||||
begin
|
begin
|
||||||
cask = Cask::CaskLoader.load(name)
|
cask = Cask::CaskLoader.load(ref)
|
||||||
puts "Found a cask named \"#{name}\" instead."
|
puts "Found a cask with ref \"#{ref}\" instead."
|
||||||
[cask.homepage]
|
[cask.homepage]
|
||||||
rescue Cask::CaskUnavailableError
|
rescue Cask::CaskUnavailableError => e
|
||||||
|
puts e.message
|
||||||
[]
|
[]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
exec_browser(*homepages) unless homepages.empty?
|
||||||
exec_browser *homepages
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,17 +1,43 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "cmd/shared_examples/args_parse"
|
require "cmd/shared_examples/args_parse"
|
||||||
|
require "support/lib/config"
|
||||||
|
|
||||||
describe "Homebrew.home_args" do
|
describe "Homebrew.home_args" do
|
||||||
it_behaves_like "parseable arguments"
|
it_behaves_like "parseable arguments"
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "brew home", :integration_test do
|
describe "brew home", :integration_test do
|
||||||
|
let(:testballhome_homepage) {
|
||||||
|
Formula["testballhome"].homepage
|
||||||
|
}
|
||||||
|
|
||||||
|
let(:local_caffeine_homepage) {
|
||||||
|
Cask::CaskLoader.load(cask_path("local-caffeine")).homepage
|
||||||
|
}
|
||||||
|
|
||||||
it "opens the homepage for a given Formula" do
|
it "opens the homepage for a given Formula" do
|
||||||
setup_test_formula "testballhome"
|
setup_test_formula "testballhome"
|
||||||
|
|
||||||
expect { brew "home", "testballhome", "HOMEBREW_BROWSER" => "echo" }
|
expect { brew "home", "testballhome", "HOMEBREW_BROWSER" => "echo" }
|
||||||
.to output("#{Formula["testballhome"].homepage}\n").to_stdout
|
.to output("#{testballhome_homepage}\n").to_stdout
|
||||||
|
.and not_to_output.to_stderr
|
||||||
|
.and be_a_success
|
||||||
|
end
|
||||||
|
|
||||||
|
it "opens the homepage for a given Cask" do
|
||||||
|
expect { brew "home", cask_path("local-caffeine"), "HOMEBREW_BROWSER" => "echo" }
|
||||||
|
.to output(/Found a cask with ref ".*" instead.\n#{local_caffeine_homepage}/m).to_stdout
|
||||||
|
.and not_to_output.to_stderr
|
||||||
|
.and be_a_success
|
||||||
|
end
|
||||||
|
|
||||||
|
it "opens the homepages for a given formula and Cask" do
|
||||||
|
setup_test_formula "testballhome"
|
||||||
|
|
||||||
|
expect { brew "home", "testballhome", cask_path("local-caffeine"), "HOMEBREW_BROWSER" => "echo" }
|
||||||
|
.to output(/Found a cask with ref ".*" instead.\n#{testballhome_homepage} #{local_caffeine_homepage}/m)
|
||||||
|
.to_stdout
|
||||||
.and not_to_output.to_stderr
|
.and not_to_output.to_stderr
|
||||||
.and be_a_success
|
.and be_a_success
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user