🔥 Remove test files after trashing.

This commit is contained in:
Markus Reiter 2017-06-24 08:34:01 +02:00
parent a1f9032b95
commit f24fc42362
2 changed files with 24 additions and 2 deletions

View File

@ -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

View File

@ -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