aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorMarkus Reiter2017-02-25 13:26:50 +0100
committerMarkus Reiter2017-02-25 13:26:50 +0100
commit004e8175c6ceb58f026e79e6bbd0ddac9e8380f6 (patch)
tree0afee0e19787098c93becf702610e8f787a83ef8 /Library/Homebrew
parent9a0116d5c4967441a6c85656ef7f15795cd02bbc (diff)
downloadbrew-004e8175c6ceb58f026e79e6bbd0ddac9e8380f6.tar.bz2
Add `formula` spec helper.
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/test/spec_helper.rb2
-rw-r--r--Library/Homebrew/test/support/helper/formula.rb19
2 files changed, 21 insertions, 0 deletions
diff --git a/Library/Homebrew/test/spec_helper.rb b/Library/Homebrew/test/spec_helper.rb
index 3724e4256..9a4dbe026 100644
--- a/Library/Homebrew/test/spec_helper.rb
+++ b/Library/Homebrew/test/spec_helper.rb
@@ -16,6 +16,7 @@ require "tap"
require "test/support/helper/shutup"
require "test/support/helper/fixtures"
+require "test/support/helper/formula"
require "test/support/helper/spec/shared_context/integration_test"
TEST_DIRECTORIES = [
@@ -32,6 +33,7 @@ RSpec.configure do |config|
config.order = :random
config.include(Test::Helper::Shutup)
config.include(Test::Helper::Fixtures)
+ config.include(Test::Helper::Formula)
config.before(:each) do |example|
if example.metadata[:needs_macos]
skip "Not on macOS." unless OS.mac?
diff --git a/Library/Homebrew/test/support/helper/formula.rb b/Library/Homebrew/test/support/helper/formula.rb
new file mode 100644
index 000000000..7f55f4b66
--- /dev/null
+++ b/Library/Homebrew/test/support/helper/formula.rb
@@ -0,0 +1,19 @@
+require "formulary"
+
+module Test
+ module Helper
+ module Formula
+ def formula(name = "formula_name", path: Formulary.core_path(name), spec: :stable, alias_path: nil, &block)
+ Class.new(::Formula, &block).new(name, path, spec, alias_path: alias_path)
+ end
+
+ # Use a stubbed {Formulary::FormulaLoader} to make a given formula be found
+ # when loading from {Formulary} with `ref`.
+ def stub_formula_loader(formula, ref = formula.full_name)
+ loader = double(get_formula: formula)
+ allow(Formulary).to receive(:loader_for).with(ref, from: :keg).and_return(loader)
+ allow(Formulary).to receive(:loader_for).with(ref, from: nil).and_return(loader)
+ end
+ end
+ end
+end