diff options
| author | Markus Reiter | 2017-06-20 16:30:09 +0200 |
|---|---|---|
| committer | GitHub | 2017-06-20 16:30:09 +0200 |
| commit | 96f8452e17f7a530b4cc823346b673f7626e6e95 (patch) | |
| tree | 5fc28c2f31cbdedbaf06b3ce3785b57337d0b2b0 /Library/Homebrew/test/utils | |
| parent | 80ce43dff1a196d021f64277a2d3b6aa3e2898f7 (diff) | |
| parent | b2daed584d6f8b737cc2b500eb19a38d02dbc8a6 (diff) | |
| download | brew-96f8452e17f7a530b4cc823346b673f7626e6e95.tar.bz2 | |
Merge pull request #2793 from reitermarkus/trash
Add support for `uninstall/zap :trash`.
Diffstat (limited to 'Library/Homebrew/test/utils')
| -rw-r--r-- | Library/Homebrew/test/utils/trash_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Library/Homebrew/test/utils/trash_spec.rb b/Library/Homebrew/test/utils/trash_spec.rb new file mode 100644 index 000000000..9f2f7df15 --- /dev/null +++ b/Library/Homebrew/test/utils/trash_spec.rb @@ -0,0 +1,32 @@ +require "open3" + +describe "trash", :needs_macos do + let(:executable) { HOMEBREW_LIBRARY_PATH/"utils/trash.swift" } + let(:dir) { mktmpdir } + let(:file) { dir/"new_file" } + + it "moves existing files to the trash" do + FileUtils.touch file + + expect(file).to exist + + out, err, status = Open3.capture3(executable, file) + + expect(out).to match %r{moved #{file} to .*/\.Trash/\.*} + expect(err).to be_empty + expect(status).to be_a_success + + expect(file).not_to exist + + trashed_path = out.sub(/^moved #{Regexp.escape(file.to_s)} to (.*)\n$/, '\1') + FileUtils.rm_f trashed_path + end + + it "fails when files don't exist" do + out, err, status = Open3.capture3(executable, file) + + expect(out).to be_empty + expect(err).to eq "could not move #{file} to trash\n" + expect(status).to be_a_failure + end +end |
