2 changed files with 57 additions and 0 deletions
@ -0,0 +1,16 @@ |
|||||
|
module Cask::CLI::Open |
||||
|
def self.run(*cask_names) |
||||
|
cask_names.each do |cask_name| |
||||
|
begin |
||||
|
cask = Cask.load(cask_name) |
||||
|
system "open", cask.homepage |
||||
|
rescue CaskUnavailableError => e |
||||
|
onoe e |
||||
|
end |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
def self.help |
||||
|
"opens the homepage of the cask of the given name" |
||||
|
end |
||||
|
end |
@ -0,0 +1,41 @@ |
|||||
|
require 'test_helper' |
||||
|
|
||||
|
module RecordSystemCalls |
||||
|
def system(*command) |
||||
|
system_commands << command |
||||
|
end |
||||
|
|
||||
|
def reset! |
||||
|
@system_commands = [] |
||||
|
end |
||||
|
|
||||
|
def system_commands |
||||
|
@system_commands ||= [] |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
module Cask::CLI::Open |
||||
|
extend RecordSystemCalls |
||||
|
end |
||||
|
|
||||
|
describe Cask::CLI::Open do |
||||
|
before do |
||||
|
Cask::CLI::Open.reset! |
||||
|
end |
||||
|
|
||||
|
it 'opens the homepage for the specified cask' do |
||||
|
Cask::CLI::Open.run('alfred') |
||||
|
Cask::CLI::Open.system_commands.must_equal [ |
||||
|
['open', 'http://www.alfredapp.com/'] |
||||
|
] |
||||
|
end |
||||
|
|
||||
|
it 'works for multiple casks' do |
||||
|
Cask::CLI::Open.run('alfred', 'adium') |
||||
|
Cask::CLI::Open.system_commands.must_equal [ |
||||
|
['open', 'http://www.alfredapp.com/'], |
||||
|
['open', 'http://www.adium.im/'] |
||||
|
] |
||||
|
end |
||||
|
end |
||||
|
|
Loading…
Reference in new issue