diff options
| author | Mike McQuaid | 2017-03-20 20:37:12 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2017-03-20 20:37:12 +0100 |
| commit | f59eb358c29c5f40601a99e3f1bf7e8e891f10ba (patch) | |
| tree | 86c8ad1406611325251b111c83e212a007ced7d1 /Library/Homebrew/test | |
| parent | 80e95b684e7485b5c5b7f7209dd95b0bdc9e3406 (diff) | |
| download | brew-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.rb | 46 | ||||
| -rw-r--r-- | Library/Homebrew/test/missing_formula_spec.rb | 58 |
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 |
