diff options
| author | Markus Reiter | 2017-02-11 18:46:56 +0100 |
|---|---|---|
| committer | Markus Reiter | 2017-02-15 22:54:34 +0100 |
| commit | cfed07734c3eae46afc69d572fe2cc8bc68f0945 (patch) | |
| tree | cd818400791c540863e1a2a86d7bf61c43186a9a /Library/Homebrew/test/bottle_hooks_spec.rb | |
| parent | f8e5716bab2239efab702990ebcb0d05c8f084cf (diff) | |
| download | brew-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.rb | 50 |
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 |
