forked from Homebrew/homebrew-cask
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cat_test.rb
59 lines (50 loc) · 1.5 KB
/
cat_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
require 'test_helper'
describe Hbc::CLI::Cat do
describe 'given a basic Cask' do
before do
@expected_output = <<-CLIOUTPUT.undent
cask :v1test => 'basic-cask' do
version '1.2.3'
sha256 '8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b'
url 'http://example.com/TestCask.dmg'
homepage 'http://example.com/'
app 'TestCask.app'
end
CLIOUTPUT
end
it 'displays the Cask file content about the specified Cask' do
lambda {
Hbc::CLI::Cat.run('basic-cask')
}.must_output(@expected_output)
end
it 'throws away additional Cask arguments and uses the first' do
lambda{
Hbc::CLI::Cat.run('basic-cask', 'local-caffeine')
}.must_output(@expected_output)
end
it 'throws away stray options' do
lambda{
Hbc::CLI::Cat.run('--notavalidoption', 'basic-cask')
}.must_output(@expected_output)
end
end
it %q{raises an exception when the Cask doesn't exist} do
lambda {
Hbc::CLI::Cat.run('notacask')
}.must_raise Hbc::CaskUnavailableError
end
describe "when no Cask is specified" do
it "raises an exception" do
lambda {
Hbc::CLI::Cat.run()
}.must_raise Hbc::CaskUnspecifiedError
end
end
describe "when no Cask is specified, but an invalid option" do
it "raises an exception" do
lambda {
Hbc::CLI::Cat.run('--notavalidoption')
}.must_raise Hbc::CaskUnspecifiedError
end
end
end