diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/test/spec_helper.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/formula.rb | 19 |
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 |
