From 95c93263e61a756441fcf51516681fb8032d1662 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Wed, 19 Oct 2016 23:01:52 +0200 Subject: [PATCH] Refactor `spec_helper`. --- Library/Homebrew/cask/spec/cask/audit_spec.rb | 12 ++--- Library/Homebrew/cask/spec/spec_helper.rb | 44 +++++-------------- 2 files changed, 16 insertions(+), 40 deletions(-) diff --git a/Library/Homebrew/cask/spec/cask/audit_spec.rb b/Library/Homebrew/cask/spec/cask/audit_spec.rb index f5a27ea8f0..c5433d0a29 100644 --- a/Library/Homebrew/cask/spec/cask/audit_spec.rb +++ b/Library/Homebrew/cask/spec/cask/audit_spec.rb @@ -294,8 +294,8 @@ describe Hbc::Audit do context "when download and verification succeed" do before do - download.expects(:perform) - verify.expects(:all) + expect(download).to receive(:perform) + expect(verify).to receive(:all) end it { should_not fail_with(%r{#{error_msg}}) } @@ -303,7 +303,7 @@ describe Hbc::Audit do context "when download fails" do before do - download.expects(:perform).raises(StandardError.new(error_msg)) + expect(download).to receive(:perform).and_raise(StandardError.new(error_msg)) end it { is_expected.to fail_with(%r{#{error_msg}}) } @@ -311,8 +311,8 @@ describe Hbc::Audit do context "when verification fails" do before do - download.expects(:perform) - verify.expects(:all).raises(StandardError.new(error_msg)) + expect(download).to receive(:perform) + expect(verify).to receive(:all).and_raise(StandardError.new(error_msg)) end it { is_expected.to fail_with(%r{#{error_msg}}) } @@ -322,7 +322,7 @@ describe Hbc::Audit do context "when an exception is raised" do let(:cask) { instance_double(Hbc::Cask) } before do - cask.expects(:version).raises(StandardError.new) + expect(cask).to receive(:version).and_raise(StandardError.new) end it { is_expected.to fail_with(%r{exception while auditing}) } diff --git a/Library/Homebrew/cask/spec/spec_helper.rb b/Library/Homebrew/cask/spec/spec_helper.rb index ebd60124ce..b71e1ecaeb 100644 --- a/Library/Homebrew/cask/spec/spec_helper.rb +++ b/Library/Homebrew/cask/spec/spec_helper.rb @@ -6,23 +6,19 @@ if ENV["HOMEBREW_TESTS_COVERAGE"] require "simplecov" end -project_root = Pathname.new(File.expand_path("../..", __FILE__)) - # add Homebrew to load path $LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_REPOSITORY"]}/Library/Homebrew")) +$LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_REPOSITORY"]}/Library/Homebrew/test/lib")) require "global" # add Homebrew-Cask to load path -$LOAD_PATH.push(project_root.join("lib").to_s) +$LOAD_PATH.push(HOMEBREW_LIBRARY_PATH.join("cask", "lib").to_s) require "test/helper/env" require "test/helper/shutup" -Dir["#{project_root}/spec/support/*.rb"].each(&method(:require)) - -# from Homebrew. Provides expects method. -require "mocha/api" +Pathname.glob(HOMEBREW_LIBRARY_PATH.join("cask", "spec", "support", "*.rb")).each(&method(:require)) require "hbc" @@ -30,35 +26,15 @@ module Hbc class TestCask < Cask; end end -TEST_TMPDIR = Dir.mktmpdir("homebrew_cask_tests") -at_exit do - FileUtils.remove_entry(TEST_TMPDIR) -end - -# override Homebrew locations -Hbc.homebrew_prefix = Pathname.new(TEST_TMPDIR).join("prefix") -Hbc.homebrew_repository = Hbc.homebrew_prefix -Hbc.binarydir = Hbc.homebrew_prefix.join("binarydir", "bin") -Hbc.appdir = Pathname.new(TEST_TMPDIR).join("appdir") - -# Override Tap::TAP_DIRECTORY to use our test Tap directory. -class Tap - send(:remove_const, :TAP_DIRECTORY) - TAP_DIRECTORY = Hbc.homebrew_repository.join("Library", "Taps") -end - -Hbc.default_tap = Tap.fetch("caskroom", "speccasks") -Hbc.default_tap.path.dirname.mkpath - -# also jack in some test Casks -FileUtils.ln_s project_root.join("spec", "support"), Tap::TAP_DIRECTORY.join("caskroom", "homebrew-speccasks") - -# create cache directory -Hbc.homebrew_cache = Pathname.new(TEST_TMPDIR).join("cache") +# create and override default directories +Hbc.appdir = Pathname.new(TEST_TMPDIR).join("Applications").tap(&:mkpath) Hbc.cache.mkpath +Hbc.caskroom.mkpath +Hbc.default_tap = Tap.fetch("caskroom", "spec").tap do |tap| + tap.path.dirname.mkpath +end -# our own testy caskroom -Hbc.caskroom = Hbc.homebrew_prefix.join("TestCaskroom") +FileUtils.ln_s Pathname.new(__FILE__).dirname.join("support"), Hbc.default_tap.path RSpec.configure do |config| config.order = :random