diff options
| author | Martin Schimandl | 2017-10-07 21:32:40 +0200 |
|---|---|---|
| committer | Martin Schimandl | 2017-11-10 20:16:38 +0100 |
| commit | ff2239509d53f86ca48330ddfc6f24fe03ba9768 (patch) | |
| tree | d974cd7012b87eff3ab52c30e2796846f5bec590 /Library | |
| parent | be68f3d7b49f2e9b84e7230d5c22b6522992ea8c (diff) | |
| download | brew-ff2239509d53f86ca48330ddfc6f24fe03ba9768.tar.bz2 | |
Change behaviour of 'cask _stanza' command. Add tests for 'cask _stanza' command
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb | 8 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/internal_stanza_spec.rb | 28 |
2 files changed, 35 insertions, 1 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb b/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb index b0812d27c..411170010 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/internal_stanza.rb @@ -71,10 +71,16 @@ module Hbc next end + if value == nil || (value.kind_of?(Array) && value.empty?) + opoo "no such stanza '#{stanza}' on Cask '#{cask}'" unless quiet? + puts "" + raise ArgumentError, "no such stanza '#{stanza}' on Cask '#{cask}'" + end + if artifact_name && !value.key?(artifact_name) opoo "no such stanza '#{artifact_name}' on Cask '#{cask}'" unless quiet? puts "" - next + raise ArgumentError, "no such stanza '#{artifact_name}' on Cask '#{cask}'" end if stanza == :artifacts diff --git a/Library/Homebrew/test/cask/cli/internal_stanza_spec.rb b/Library/Homebrew/test/cask/cli/internal_stanza_spec.rb new file mode 100644 index 000000000..77b065567 --- /dev/null +++ b/Library/Homebrew/test/cask/cli/internal_stanza_spec.rb @@ -0,0 +1,28 @@ +describe Hbc::CLI::InternalStanza, :cask do + + it "shows stanza of the Specified Cask" do + command = described_class.new("gpg", "with-gpg"); + command.run + # TODO check result + end + + it "raises an exception when stanza is invalid" do + expect { + described_class.new("invalid_stanza", "with-gpg"); + }.to raise_error(/Illegal stanza/); + end + + it "raises an exception when normal stanza is not present on cask" do + command = described_class.new("caveats", "with-gpg"); + expect { + command.run + }.to raise_error(/no such stanza/) + end + + it "raises an exception when artifact stanza is not present on cask" do + command = described_class.new("zap", "with-gpg"); + expect { + command.run + }.to raise_error(/no such stanza/) + end +end |
