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/missing_formula_spec.rb | |
| 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/missing_formula_spec.rb')
| -rw-r--r-- | Library/Homebrew/test/missing_formula_spec.rb | 58 | 
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 | 
