2017-03-18 17:02:08 +02:00
|
|
|
require "missing_formula"
|
|
|
|
|
|
|
|
describe Homebrew::MissingFormula do
|
2017-03-20 20:37:12 +01:00
|
|
|
context "::reason" do
|
2017-03-18 17:02:08 +02:00
|
|
|
subject { described_class.reason("gem") }
|
|
|
|
|
|
|
|
it { is_expected.to_not be_nil }
|
|
|
|
end
|
|
|
|
|
2017-03-20 20:37:12 +01:00
|
|
|
context "::blacklisted_reason" do
|
2017-03-18 17:02:08 +02:00
|
|
|
matcher(:be_blacklisted) do
|
|
|
|
match(&Homebrew::MissingFormula.method(:blacklisted_reason))
|
|
|
|
end
|
|
|
|
|
|
|
|
context "rubygems" do
|
|
|
|
%w[gem rubygem rubygems].each do |s|
|
|
|
|
subject { s }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "latex" do
|
|
|
|
%w[latex tex tex-live texlive TexLive].each do |s|
|
|
|
|
subject { s }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "pip" do
|
|
|
|
subject { "pip" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "pil" do
|
|
|
|
subject { "pil" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "macruby" do
|
|
|
|
subject { "MacRuby" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "lzma" do
|
|
|
|
%w[lzma liblzma].each do |s|
|
|
|
|
subject { s }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "gtest" do
|
|
|
|
%w[gtest googletest google-test].each do |s|
|
|
|
|
subject { s }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "gmock" do
|
|
|
|
%w[gmock googlemock google-mock].each do |s|
|
|
|
|
subject { s }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "sshpass" do
|
|
|
|
subject { "sshpass" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "gsutil" do
|
|
|
|
subject { "gsutil" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "gfortran" do
|
|
|
|
subject { "gfortran" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "play" do
|
|
|
|
subject { "play" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "haskell-platform" do
|
|
|
|
subject { "haskell-platform" }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "xcode", :needs_macos do
|
|
|
|
%w[xcode Xcode].each do |s|
|
|
|
|
subject { s }
|
|
|
|
|
|
|
|
it { is_expected.to be_blacklisted }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2017-03-20 20:37:12 +01:00
|
|
|
|
|
|
|
context "::tap_migration_reason" do
|
|
|
|
subject { described_class.tap_migration_reason(formula) }
|
|
|
|
|
|
|
|
before do
|
|
|
|
Tap.clear_cache
|
|
|
|
tap_path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo"
|
|
|
|
tap_path.mkpath
|
2017-10-15 02:28:32 +02:00
|
|
|
(tap_path/"tap_migrations.json").write <<~EOS
|
2017-03-20 20:37:12 +01:00
|
|
|
{ "migrated-formula": "homebrew/bar" }
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
|
|
|
|
context "with a migrated formula" do
|
|
|
|
let(:formula) { "migrated-formula" }
|
|
|
|
it { is_expected.to_not be_nil }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "with a missing formula" do
|
|
|
|
let(:formula) { "missing-formula" }
|
|
|
|
it { is_expected.to be_nil }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "::deleted_reason" do
|
2017-04-22 12:26:18 +01:00
|
|
|
subject { described_class.deleted_reason(formula, silent: true) }
|
2017-03-20 20:37:12 +01:00
|
|
|
|
|
|
|
before do
|
|
|
|
Tap.clear_cache
|
|
|
|
tap_path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo"
|
|
|
|
tap_path.mkpath
|
|
|
|
(tap_path/"deleted-formula.rb").write "placeholder"
|
2017-12-30 21:18:02 +00:00
|
|
|
ENV.delete "GIT_AUTHOR_DATE"
|
|
|
|
ENV.delete "GIT_COMMITTER_DATE"
|
2017-03-20 20:37:12 +01:00
|
|
|
|
|
|
|
tap_path.cd do
|
2017-07-29 19:55:05 +02:00
|
|
|
system "git", "init"
|
|
|
|
system "git", "add", "--all"
|
|
|
|
system "git", "commit", "-m", "initial state"
|
|
|
|
system "git", "rm", "deleted-formula.rb"
|
|
|
|
system "git", "commit", "-m", "delete formula 'deleted-formula'"
|
2017-03-20 20:37:12 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "with a deleted formula" do
|
|
|
|
let(:formula) { "homebrew/foo/deleted-formula" }
|
|
|
|
it { is_expected.to_not be_nil }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "with a formula that never existed" do
|
|
|
|
let(:formula) { "homebrew/foo/missing-formula" }
|
|
|
|
it { is_expected.to be_nil }
|
|
|
|
end
|
|
|
|
end
|
2017-03-18 17:02:08 +02:00
|
|
|
end
|