diff options
Diffstat (limited to 'Library/Homebrew/test/formula_installer_spec.rb')
| -rw-r--r-- | Library/Homebrew/test/formula_installer_spec.rb | 39 | 
1 files changed, 39 insertions, 0 deletions
diff --git a/Library/Homebrew/test/formula_installer_spec.rb b/Library/Homebrew/test/formula_installer_spec.rb index 600b4560f..f5218db73 100644 --- a/Library/Homebrew/test/formula_installer_spec.rb +++ b/Library/Homebrew/test/formula_installer_spec.rb @@ -134,4 +134,43 @@ describe FormulaInstaller do        fi.check_install_sanity      }.to raise_error(CannotInstallFormulaError)    end + +  describe "#install_requirement_formula?" do +    before do +      @requirement = Python3Requirement.new +      allow(@requirement).to receive(:satisfied?).and_return(satisfied?) +      allow(@requirement).to receive(:satisfied_by_formula?).and_return(satisfied_by_formula?) +      allow_any_instance_of(Dependency).to receive(:installed?).and_return(installed?) +      @dependent = formula do +        url "foo" +        version "0.1" +        depends_on :python3 +      end +      @build = BuildOptions.new [], [] +      @fi = FormulaInstaller.new(@dependent) +    end + +    subject { @fi.install_requirement_formula?(@requirement, @dependent, @build) } + +    context "it returns false when requirement is satisfied" do +      let(:satisfied?) { true } +      let(:satisfied_by_formula?) { false } +      let(:installed?) { false } +      it { is_expected.to be false } +    end + +    context "it returns true when requirement isn't satisfied" do +      let(:satisfied?) { false } +      let(:satisfied_by_formula?) { false } +      let(:installed?) { false } +      it { is_expected.to be true } +    end + +    context "it returns true when requirement is satisfied by a formula" do +      let(:satisfied?) { true } +      let(:satisfied_by_formula?) { true } +      let(:installed?) { false } +      it { is_expected.to be true } +    end +  end  end  | 
