aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/bottle_hooks_spec.rb
diff options
context:
space:
mode:
authorMarkus Reiter2017-02-11 18:46:56 +0100
committerMarkus Reiter2017-02-15 22:54:34 +0100
commitcfed07734c3eae46afc69d572fe2cc8bc68f0945 (patch)
treecd818400791c540863e1a2a86d7bf61c43186a9a /Library/Homebrew/test/bottle_hooks_spec.rb
parentf8e5716bab2239efab702990ebcb0d05c8f084cf (diff)
downloadbrew-cfed07734c3eae46afc69d572fe2cc8bc68f0945.tar.bz2
Convert Homebrew::Hooks::Bottles test to spec.
Diffstat (limited to 'Library/Homebrew/test/bottle_hooks_spec.rb')
-rw-r--r--Library/Homebrew/test/bottle_hooks_spec.rb50
1 files changed, 50 insertions, 0 deletions
diff --git a/Library/Homebrew/test/bottle_hooks_spec.rb b/Library/Homebrew/test/bottle_hooks_spec.rb
new file mode 100644
index 000000000..05c6ea7f0
--- /dev/null
+++ b/Library/Homebrew/test/bottle_hooks_spec.rb
@@ -0,0 +1,50 @@
+require "formula_installer"
+require "hooks/bottles"
+
+RSpec::Matchers.alias_matcher :pour_bottle, :be_pour_bottle
+
+describe Homebrew::Hooks::Bottles do
+ subject { FormulaInstaller.new formula }
+
+ let(:formula) do
+ double(
+ bottle: nil,
+ local_bottle_path: nil,
+ bottle_disabled?: false,
+ some_random_method: true,
+ )
+ end
+
+ after(:each) do
+ described_class.reset_hooks
+ end
+
+ describe "#setup_formula_has_bottle" do
+ context "given a block which evaluates to true" do
+ before(:each) do
+ described_class.setup_formula_has_bottle(&:some_random_method)
+ end
+
+ it { is_expected.to pour_bottle }
+ end
+
+ context "given a block which evaluates to false" do
+ before(:each) do
+ described_class.setup_formula_has_bottle { |f| !f.some_random_method }
+ end
+
+ it { is_expected.not_to pour_bottle }
+ end
+ end
+
+ describe "#setup_pour_formula_bottle" do
+ before(:each) do
+ described_class.setup_formula_has_bottle { true }
+ described_class.setup_pour_formula_bottle(&:some_random_method)
+ end
+
+ it "does not raise an error" do
+ expect { subject.pour }.not_to raise_error
+ end
+ end
+end