aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
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
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')
-rw-r--r--Library/Homebrew/test/historic_test.rb46
-rw-r--r--Library/Homebrew/test/missing_formula_spec.rb58
2 files changed, 56 insertions, 48 deletions
diff --git a/Library/Homebrew/test/historic_test.rb b/Library/Homebrew/test/historic_test.rb
deleted file mode 100644
index d09656fe0..000000000
--- a/Library/Homebrew/test/historic_test.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-require "testing_env"
-require "historic"
-
-class HistoricTest < Homebrew::TestCase
- def setup
- super
-
- @path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo"
- @path.mkpath
- @tap = Tap.new("Homebrew", "foo")
-
- (@path/"tap_migrations.json").write <<-EOS.undent
- { "migrated-formula": "homebrew/bar" }
- EOS
- (@path/"Formula/to-delete.rb").write "placeholder"
-
- @path.cd do
- shutup do
- system "git", "init"
- system "git", "add", "--all"
- system "git", "commit", "-m", "initial state"
- system "git", "rm", "Formula/to-delete.rb"
- system "git", "commit", "-m", "delete formula 'to-delete'"
- end
- end
- end
-
- def teardown
- @path.rmtree
-
- super
- end
-
- def test_search_for_migrated_formula
- migrations = Homebrew.search_for_migrated_formula("migrated-formula", print_messages: false)
- assert_equal [[@tap, "homebrew/bar"]], migrations
- end
-
- def test_search_for_deleted_formula
- tap, relpath, hash, = Homebrew.search_for_deleted_formula("homebrew/foo/to-delete",
- print_messages: false)
- assert_equal tap, @tap
- assert_equal relpath, "Formula/to-delete.rb"
- assert_equal `git rev-parse HEAD`.chomp, hash
- end
-end
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