aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMarkus Reiter2017-06-24 08:34:01 +0200
committerMarkus Reiter2017-06-24 09:15:37 +0200
commitf24fc423624d25472786eac054948feb3430ce63 (patch)
tree55f6e45d701e5c741a11269282c9a0befda2260b /Library
parenta1f9032b9574dcb27b34a6deb4c9730839daf0df (diff)
downloadbrew-f24fc423624d25472786eac054948feb3430ce63.tar.bz2
🔥 Remove test files after trashing.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb18
-rw-r--r--Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb8
2 files changed, 24 insertions, 2 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb b/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb
index d3bd5ded1..d574adee3 100644
--- a/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb
+++ b/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb
@@ -234,13 +234,27 @@ module Hbc
ohai "Trashing files:"
puts resolved_paths.map(&:first)
- @command.run!("/usr/bin/osascript", args: ["-e", <<-EOS.undent, *resolved_paths.flat_map(&:last)])
+ trash_paths(*resolved_paths.flat_map(&:last))
+ end
+
+ def trash_paths(*paths)
+ @command.run!("/usr/bin/osascript", args: ["-e", <<-'EOS'.undent, *paths])
on run argv
repeat with i from 1 to (count argv)
set item i of argv to (item i of argv as POSIX file)
end repeat
- tell application "Finder" to move argv to trash
+ tell application "Finder"
+ set trashedItems to (move argv to trash)
+ set output to ""
+
+ repeat with i from 1 to (count trashedItems)
+ set item i of trashedItems to POSIX path of (item i of trashedItems as string)
+ set output to output & (item i of trashedItems) & (do shell script "printf \"\\0\"")
+ end repeat
+
+ return output
+ end tell
end run
EOS
end
diff --git a/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb b/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb
index 6c2fd1a05..b84c1fd00 100644
--- a/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb
+++ b/Library/Homebrew/test/cask/artifact/uninstall_zap_shared_examples.rb
@@ -176,6 +176,14 @@ shared_examples "#uninstall_phase or #zap_phase" do
let(:fake_system_command) { Hbc::NeverSudoSystemCommand }
let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-#{artifact_name}-#{directive}.rb") }
+ before(:each) do
+ allow_any_instance_of(Hbc::Artifact::UninstallBase).to receive(:trash_paths)
+ .and_wrap_original do |method, *args|
+ result = method.call(*args)
+ FileUtils.rm_rf result.stdout.split("\0")
+ end
+ end
+
it "is supported" do
paths.each do |path|
expect(path).to exist