Browse Source

automatically link on install / unlink on uninstall

phinze 12 years ago
parent
commit
e16e1622c0
  1. 1
      lib/cask/cli/install.rb
  2. 1
      lib/cask/cli/uninstall.rb
  3. 4
      test/cli/install_test.rb
  4. 6
      test/cli/uninstall_test.rb

1
lib/cask/cli/install.rb

@ -4,6 +4,7 @@ class Cask::CLI::Install
begin
cask = Cask.load(cask_name)
Cask::Installer.install(cask)
Cask::AppLinker.new(cask).link
rescue CaskUnavailableError => e
onoe e
rescue ChecksumMissingError => e

1
lib/cask/cli/uninstall.rb

@ -3,6 +3,7 @@ class Cask::CLI::Uninstall
begin
casks = cask_names.map { |cn| Cask.load(cn) }
casks.each do |cask|
Cask::AppLinker.new(cask).unlink
Cask::Installer.uninstall(cask)
end
rescue CaskUnavailableError,CaskNotInstalledError => e

4
test/cli/install_test.rb

@ -1,13 +1,15 @@
require 'test_helper'
describe Cask::CLI::Install do
it "allows install of multiple casks at once" do
it "allows install and link of multiple casks at once" do
shutup do
Cask::CLI::Install.run('local-transmission', 'local-caffeine')
end
Cask.load('local-transmission').must_be :installed?
Cask.appdir.join('Transmission.app').must_be :symlink?
Cask.load('local-caffeine').must_be :installed?
Cask.appdir.join('Caffeine.app').must_be :symlink?
end
it "properly handles casks that are not present" do

6
test/cli/uninstall_test.rb

@ -13,13 +13,15 @@ describe Cask::CLI::Uninstall do
}, 'Error: anvil is not installed')
end
it "can uninstall multiple casks at once" do
it "can uninstall and unlink multiple casks at once" do
caffeine = Cask.load('local-caffeine')
transmission = Cask.load('local-transmission')
shutup do
Cask::Installer.install caffeine
Cask::AppLinker.new(caffeine).link
Cask::Installer.install transmission
Cask::AppLinker.new(transmission).link
end
caffeine.must_be :installed?
@ -28,6 +30,8 @@ describe Cask::CLI::Uninstall do
Cask::CLI::Uninstall.run('local-caffeine', 'local-transmission')
caffeine.wont_be :installed?
Cask.appdir.join('Transmission.app').wont_be :symlink?
transmission.wont_be :installed?
Cask.appdir.join('Caffeine.app').wont_be :symlink?
end
end

Loading…
Cancel
Save