mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
57 lines
1.9 KiB
Ruby
57 lines
1.9 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "cmd/home"
|
|
require "cmd/shared_examples/args_parse"
|
|
|
|
RSpec.describe Homebrew::Cmd::Home do
|
|
let(:testballhome_homepage) do
|
|
Formula["testballhome"].homepage
|
|
end
|
|
|
|
let(:local_caffeine_path) do
|
|
cask_path("local-caffeine")
|
|
end
|
|
|
|
let(:local_caffeine_homepage) do
|
|
Cask::CaskLoader.load(local_caffeine_path).homepage
|
|
end
|
|
|
|
it_behaves_like "parseable arguments"
|
|
|
|
it "opens the project page when no formula or cask is specified", :integration_test do
|
|
expect { brew "home", "HOMEBREW_BROWSER" => "echo" }
|
|
.to output("https://brew.sh\n").to_stdout
|
|
.and not_to_output.to_stderr
|
|
.and be_a_success
|
|
end
|
|
|
|
it "opens the homepage for a given Formula", :integration_test do
|
|
setup_test_formula "testballhome"
|
|
|
|
expect { brew "home", "testballhome", "HOMEBREW_BROWSER" => "echo" }
|
|
.to output(/#{testballhome_homepage}/).to_stdout
|
|
.and not_to_output.to_stderr
|
|
.and be_a_success
|
|
end
|
|
|
|
it "opens the homepage for a given Cask", :integration_test, :needs_macos do
|
|
expect { brew "home", local_caffeine_path, "HOMEBREW_BROWSER" => "echo" }
|
|
.to output(/#{local_caffeine_homepage}/).to_stdout
|
|
.and output(/Treating #{Regexp.escape(local_caffeine_path)} as a cask/).to_stderr
|
|
.and be_a_success
|
|
expect { brew "home", "--cask", local_caffeine_path, "HOMEBREW_BROWSER" => "echo" }
|
|
.to output(/#{local_caffeine_homepage}/).to_stdout
|
|
.and not_to_output.to_stderr
|
|
.and be_a_success
|
|
end
|
|
|
|
it "opens the homepages for a given formula and Cask", :integration_test, :needs_macos do
|
|
setup_test_formula "testballhome"
|
|
|
|
expect { brew "home", "testballhome", local_caffeine_path, "HOMEBREW_BROWSER" => "echo" }
|
|
.to output(/#{testballhome_homepage} #{local_caffeine_homepage}/).to_stdout
|
|
.and output(/Treating #{Regexp.escape(local_caffeine_path)} as a cask/).to_stderr
|
|
.and be_a_success
|
|
end
|
|
end
|