aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorMike McQuaid2017-03-25 11:37:54 +0000
committerGitHub2017-03-25 11:37:54 +0000
commit17acb3a91cc399410ce6fa9b00280a7434fcd9a1 (patch)
tree5f86bbc9ccabfe1ee45a1aae0aecd77b86a73c4d /Library/Homebrew/test
parent098ed84df4113f4a04a386765dd1c7537fa39f72 (diff)
parent0cc9d93885b7824e702156c50c46d22158b5a57f (diff)
downloadbrew-17acb3a91cc399410ce6fa9b00280a7434fcd9a1.tar.bz2
Merge pull request #2389 from MikeMcQuaid/formula-installer-requirement-satisfied-by-formula
formula_installer: tweak req formula additions.
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/formula_installer_spec.rb39
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