From 785ec4ef57677f1b2cf6dc171a5b524faaaaafb4 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Sun, 29 Jul 2018 11:40:27 +0200 Subject: [PATCH] Add tests for `CaskUnreadableError. --- .../cask_loader/from__path_loader_spec.rb | 35 +++++++++++++++++++ Library/Homebrew/test/cask/dsl_spec.rb | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 Library/Homebrew/test/cask/cask_loader/from__path_loader_spec.rb diff --git a/Library/Homebrew/test/cask/cask_loader/from__path_loader_spec.rb b/Library/Homebrew/test/cask/cask_loader/from__path_loader_spec.rb new file mode 100644 index 0000000000..e1b718e5a7 --- /dev/null +++ b/Library/Homebrew/test/cask/cask_loader/from__path_loader_spec.rb @@ -0,0 +1,35 @@ +describe Hbc::CaskLoader::FromPathLoader do + describe "#load" do + context "when the file does not contain a cask" do + let(:path) { + (mktmpdir/"cask.rb").tap do |path| + path.write <<~RUBY + true + RUBY + end + } + + it "raises an error" do + expect { + described_class.new(path).load + }.to raise_error(Hbc::CaskUnreadableError, /does not contain a cask/) + end + end + + context "when the file calls a non-existent method" do + let(:path) { + (mktmpdir/"cask.rb").tap do |path| + path.write <<~RUBY + this_method_does_not_exist + RUBY + end + } + + it "raises an error" do + expect { + described_class.new(path).load + }.to raise_error(Hbc::CaskUnreadableError, /undefined local variable or method/) + end + end + end +end diff --git a/Library/Homebrew/test/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index 21684bf2c9..a40d4c972c 100644 --- a/Library/Homebrew/test/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -46,7 +46,7 @@ describe Hbc::DSL, :cask do let(:token) { "invalid/invalid-header-format" } it "raises an error" do - expect { cask }.to raise_error(SyntaxError) + expect { cask }.to raise_error(Hbc::CaskUnreadableError) end end