From 911edb0ed77859445c3a48f6abe5b9be5807ebf7 Mon Sep 17 00:00:00 2001
From: Markus Reiter <me@reitermark.us>
Date: Tue, 23 Aug 2016 06:13:03 +0200
Subject: [PATCH] Add test for per-cask `cleanup`.

---
 .../cask/spec/cask/cli/cleanup_spec.rb        | 38 ++++++++++++++++---
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb b/Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb
index e77576ae32..cf48ff2a09 100644
--- a/Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb
+++ b/Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb
@@ -10,6 +10,32 @@ describe Hbc::CLI::Cleanup do
     cache_location.rmtree
   end
 
+  describe "cleanup" do
+    it "removes cached downloads of given casks" do
+      cleaned_up_cached_download = 'caffeine'
+
+      cached_downloads = [
+                           cache_location.join("#{cleaned_up_cached_download}--latest.zip"),
+                           cache_location.join("transmission--2.61.dmg"),
+                         ]
+
+      cached_downloads.each(&FileUtils.method(:touch))
+
+      cleanup_size = Hbc::Utils.size_in_bytes(cached_downloads[0])
+
+      expect {
+        subject.cleanup(cleaned_up_cached_download)
+      }.to output(<<-EOS.undent).to_stdout
+        ==> Removing cached downloads for #{cleaned_up_cached_download}
+        #{cached_downloads[0]}
+        ==> This operation has freed approximately #{disk_usage_readable(cleanup_size)} of disk space.
+      EOS
+
+      expect(cached_downloads[0].exist?).to eq(false)
+      expect(cached_downloads[1].exist?).to eq(true)
+    end
+  end
+
   describe "cleanup!" do
     it "removes cached downloads" do
       cached_download = cache_location.join("SomeDownload.dmg")
@@ -18,11 +44,11 @@ describe Hbc::CLI::Cleanup do
 
       expect {
         subject.cleanup!
-      }.to output(<<-OUTPUT.undent).to_stdout
+      }.to output(<<-EOS.undent).to_stdout
         ==> Removing cached downloads
         #{cached_download}
         ==> This operation has freed approximately #{disk_usage_readable(cleanup_size)} of disk space.
-      OUTPUT
+      EOS
 
       expect(cached_download.exist?).to eq(false)
     end
@@ -38,11 +64,11 @@ describe Hbc::CLI::Cleanup do
 
       expect {
         subject.cleanup!
-      }.to output(<<-OUTPUT.undent).to_stdout
+      }.to output(<<-EOS.undent).to_stdout
         ==> Removing cached downloads
         skipping: #{cached_download} is locked
         ==> This operation has freed approximately #{disk_usage_readable(cleanup_size)} of disk space.
-      OUTPUT
+      EOS
 
       expect(cached_download.exist?).to eq(true)
     end
@@ -56,10 +82,10 @@ describe Hbc::CLI::Cleanup do
 
         expect {
           subject.cleanup!
-        }.to output(<<-OUTPUT.undent).to_stdout
+        }.to output(<<-EOS.undent).to_stdout
           ==> Removing cached downloads older than 10 days old
           Nothing to do
-        OUTPUT
+        EOS
 
         expect(cached_download.exist?).to eq(true)
       end
-- 
GitLab