2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2023-04-10 22:07:06 +09:00
|
|
|
require "cask/installer"
|
|
|
|
require "cask/reinstall"
|
|
|
|
|
2024-02-18 15:11:11 -08:00
|
|
|
RSpec.describe Cask::Reinstall, :cask do
|
2017-03-18 18:57:04 -05:00
|
|
|
it "displays the reinstallation progress" do
|
2018-09-06 08:29:14 +02:00
|
|
|
caffeine = Cask::CaskLoader.load(cask_path("local-caffeine"))
|
2017-03-18 18:57:04 -05:00
|
|
|
|
2018-09-06 08:29:14 +02:00
|
|
|
Cask::Installer.new(caffeine).install
|
2017-03-18 18:57:04 -05:00
|
|
|
|
2017-10-15 02:28:32 +02:00
|
|
|
output = Regexp.new <<~EOS
|
2017-03-19 19:56:41 -05:00
|
|
|
==> Downloading file:.*caffeine.zip
|
2018-04-29 05:34:32 +02:00
|
|
|
Already downloaded: .*--caffeine.zip
|
2017-03-18 18:57:04 -05:00
|
|
|
==> Uninstalling Cask local-caffeine
|
2021-01-26 15:21:24 -05:00
|
|
|
==> Backing App 'Caffeine.app' up to '.*Caffeine.app'
|
|
|
|
==> Removing App '.*Caffeine.app'
|
2017-11-10 10:05:18 -03:00
|
|
|
==> Purging files for version 1.2.3 of Cask local-caffeine
|
2017-03-18 18:57:04 -05:00
|
|
|
==> Installing Cask local-caffeine
|
2021-01-26 15:21:24 -05:00
|
|
|
==> Moving App 'Caffeine.app' to '.*Caffeine.app'
|
2017-03-19 19:56:41 -05:00
|
|
|
.*local-caffeine was successfully installed!
|
2017-03-18 18:57:04 -05:00
|
|
|
EOS
|
|
|
|
|
2023-03-08 23:14:46 +00:00
|
|
|
expect do
|
2023-04-10 22:07:06 +09:00
|
|
|
described_class.reinstall_casks(Cask::CaskLoader.load("local-caffeine"))
|
2023-03-08 23:14:46 +00:00
|
|
|
end.to output(output).to_stdout
|
2017-03-18 18:57:04 -05:00
|
|
|
end
|
|
|
|
|
2022-04-05 00:57:33 +01:00
|
|
|
it "displays the reinstallation progress with zapping" do
|
|
|
|
caffeine = Cask::CaskLoader.load(cask_path("local-caffeine"))
|
|
|
|
|
|
|
|
Cask::Installer.new(caffeine).install
|
|
|
|
|
|
|
|
output = Regexp.new <<~EOS
|
|
|
|
==> Downloading file:.*caffeine.zip
|
|
|
|
Already downloaded: .*--caffeine.zip
|
|
|
|
==> Backing App 'Caffeine.app' up to '.*Caffeine.app'
|
|
|
|
==> Removing App '.*Caffeine.app'
|
|
|
|
==> Dispatching zap stanza
|
|
|
|
==> Trashing files:
|
2022-12-13 10:54:22 +00:00
|
|
|
.*org.example.caffeine.plist
|
2022-04-05 00:57:33 +01:00
|
|
|
==> Removing all staged versions of Cask 'local-caffeine'
|
|
|
|
==> Installing Cask local-caffeine
|
|
|
|
==> Moving App 'Caffeine.app' to '.*Caffeine.app'
|
|
|
|
.*local-caffeine was successfully installed!
|
|
|
|
EOS
|
|
|
|
|
2023-03-08 23:14:46 +00:00
|
|
|
expect do
|
2023-04-10 22:07:06 +09:00
|
|
|
described_class.reinstall_casks(Cask::CaskLoader.load("local-caffeine"), zap: true)
|
2023-03-08 23:14:46 +00:00
|
|
|
end.to output(output).to_stdout
|
2022-04-05 00:57:33 +01:00
|
|
|
end
|
|
|
|
|
2017-02-08 13:29:46 +01:00
|
|
|
it "allows reinstalling a Cask" do
|
2023-04-19 21:31:22 +09:00
|
|
|
Cask::Installer.new(Cask::CaskLoader.load(cask_path("local-transmission"))).install
|
2017-07-29 19:55:05 +02:00
|
|
|
|
2018-09-06 08:29:14 +02:00
|
|
|
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed
|
2017-02-08 13:29:46 +01:00
|
|
|
|
2023-04-10 22:07:06 +09:00
|
|
|
described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission"))
|
2018-09-06 08:29:14 +02:00
|
|
|
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed
|
2017-02-08 13:29:46 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
it "allows reinstalling a non installed Cask" do
|
2018-09-06 08:29:14 +02:00
|
|
|
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).not_to be_installed
|
2017-02-08 13:29:46 +01:00
|
|
|
|
2023-04-10 22:07:06 +09:00
|
|
|
described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission"))
|
2018-09-06 08:29:14 +02:00
|
|
|
expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed
|
2017-02-08 13:29:46 +01:00
|
|
|
end
|
|
|
|
end
|