mirror of
https://github.com/donl/homebrew-cask-versions.git
synced 2026-07-17 22:06:36 -06:00
This takes the form of a horrible hack: DSL version numbers may end with "test", *eg* ":v1test". Such Casks are mapped to class `TestCask` instead of class `Cask`. The intention is that all of this logic will be removed when Casks are migrated away from separate classes. Tests driven by RSpec are still todo.
59 lines
1.5 KiB
Ruby
59 lines
1.5 KiB
Ruby
require 'test_helper'
|
|
|
|
describe Cask::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 {
|
|
Cask::CLI::Cat.run('basic-cask')
|
|
}.must_output(@expected_output)
|
|
end
|
|
|
|
it 'throws away additional Cask arguments and uses the first' do
|
|
lambda{
|
|
Cask::CLI::Cat.run('basic-cask', 'local-caffeine')
|
|
}.must_output(@expected_output)
|
|
end
|
|
|
|
it 'throws away stray options' do
|
|
lambda{
|
|
Cask::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 {
|
|
Cask::CLI::Cat.run('notacask')
|
|
}.must_raise CaskUnavailableError
|
|
end
|
|
|
|
describe "when no Cask is specified" do
|
|
it "raises an exception" do
|
|
lambda {
|
|
Cask::CLI::Cat.run()
|
|
}.must_raise CaskUnspecifiedError
|
|
end
|
|
end
|
|
|
|
describe "when no Cask is specified, but an invalid option" do
|
|
it "raises an exception" do
|
|
lambda {
|
|
Cask::CLI::Cat.run('--notavalidoption')
|
|
}.must_raise CaskUnspecifiedError
|
|
end
|
|
end
|
|
end
|