aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/missing_formula_spec.rb
diff options
context:
space:
mode:
authorMike McQuaid2017-03-20 20:37:12 +0100
committerMike McQuaid2017-03-20 20:37:12 +0100
commitf59eb358c29c5f40601a99e3f1bf7e8e891f10ba (patch)
tree86c8ad1406611325251b111c83e212a007ced7d1 /Library/Homebrew/test/missing_formula_spec.rb
parent80e95b684e7485b5c5b7f7209dd95b0bdc9e3406 (diff)
downloadbrew-f59eb358c29c5f40601a99e3f1bf7e8e891f10ba.tar.bz2
missing_formula: subsume historic logic.
These methods belong together so combine them in a single class to provide a simpler API.
Diffstat (limited to 'Library/Homebrew/test/missing_formula_spec.rb')
-rw-r--r--Library/Homebrew/test/missing_formula_spec.rb58
1 files changed, 56 insertions, 2 deletions
diff --git a/Library/Homebrew/test/missing_formula_spec.rb b/Library/Homebrew/test/missing_formula_spec.rb
index 11b93316f..f395965a6 100644
--- a/Library/Homebrew/test/missing_formula_spec.rb
+++ b/Library/Homebrew/test/missing_formula_spec.rb
@@ -1,13 +1,13 @@
require "missing_formula"
describe Homebrew::MissingFormula do
- context ".reason" do
+ context "::reason" do
subject { described_class.reason("gem") }
it { is_expected.to_not be_nil }
end
- context ".blacklisted_reason" do
+ context "::blacklisted_reason" do
matcher(:be_blacklisted) do
match(&Homebrew::MissingFormula.method(:blacklisted_reason))
end
@@ -122,4 +122,58 @@ describe Homebrew::MissingFormula do
end
end
end
+
+ 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
+ (tap_path/"tap_migrations.json").write <<-EOS.undent
+ { "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
+ subject { described_class.deleted_reason(formula) }
+
+ before do
+ Tap.clear_cache
+ tap_path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo"
+ tap_path.mkpath
+ (tap_path/"deleted-formula.rb").write "placeholder"
+
+ tap_path.cd do
+ shutup do
+ 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'"
+ end
+ 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
end