aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorMarkus Reiter2017-02-27 17:01:22 +0100
committerMarkus Reiter2017-02-27 17:04:40 +0100
commite84e7bd591fc19357d143289ea69f320d178ae4d (patch)
treeed299f0edbf1094c1ab8b5568c61f143ddbff7a1 /Library/Homebrew/test
parentf06898a4f014fa179728bcb16bb279b84341df9a (diff)
downloadbrew-e84e7bd591fc19357d143289ea69f320d178ae4d.tar.bz2
Convert Homebrew::Cleanup test to spec.
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/cleanup_spec.rb130
-rw-r--r--Library/Homebrew/test/cleanup_test.rb96
2 files changed, 130 insertions, 96 deletions
diff --git a/Library/Homebrew/test/cleanup_spec.rb b/Library/Homebrew/test/cleanup_spec.rb
new file mode 100644
index 000000000..b0e824767
--- /dev/null
+++ b/Library/Homebrew/test/cleanup_spec.rb
@@ -0,0 +1,130 @@
+require "test/support/fixtures/testball"
+require "cleanup"
+require "fileutils"
+require "pathname"
+
+describe Homebrew::Cleanup do
+ let(:ds_store) { Pathname.new("#{HOMEBREW_PREFIX}/Library/.DS_Store") }
+
+ around(:each) do |example|
+ begin
+ FileUtils.touch ds_store
+
+ example.run
+ ensure
+ FileUtils.rm_f ds_store
+ end
+ end
+
+ describe "::cleanup" do
+ it "removes .DS_Store files" do
+ shutup do
+ described_class.cleanup
+ end
+
+ expect(ds_store).not_to exist
+ end
+
+ it "doesn't remove anything if `--dry-run` is specified" do
+ ARGV << "--dry-run"
+
+ shutup do
+ described_class.cleanup
+ end
+
+ expect(ds_store).to exist
+ end
+ end
+
+ specify "::cleanup_formula" do
+ f1 = Class.new(Testball) do
+ version "1.0"
+ end.new
+
+ f2 = Class.new(Testball) do
+ version "0.2"
+ version_scheme 1
+ end.new
+
+ f3 = Class.new(Testball) do
+ version "0.3"
+ version_scheme 1
+ end.new
+
+ f4 = Class.new(Testball) do
+ version "0.1"
+ version_scheme 2
+ end.new
+
+ shutup do
+ [f1, f2, f3, f4].each do |f|
+ f.brew do
+ f.install
+ end
+
+ Tab.create(f, DevelopmentTools.default_compiler, :libcxx).write
+ end
+ end
+
+ expect(f1).to be_installed
+ expect(f2).to be_installed
+ expect(f3).to be_installed
+ expect(f4).to be_installed
+
+ shutup do
+ described_class.cleanup_formula f3
+ end
+
+ expect(f1).not_to be_installed
+ expect(f2).not_to be_installed
+ expect(f3).to be_installed
+ expect(f4).to be_installed
+ end
+
+ specify "::cleanup_logs" do
+ path = (HOMEBREW_LOGS/"delete_me")
+ path.mkpath
+ ARGV << "--prune=all"
+
+ shutup do
+ described_class.cleanup_logs
+ end
+
+ expect(path).not_to exist
+ end
+
+ describe "::cleanup_cache" do
+ it "cleans up incomplete downloads" do
+ incomplete = (HOMEBREW_CACHE/"something.incomplete")
+ incomplete.mkpath
+
+ shutup do
+ described_class.cleanup_cache
+ end
+
+ expect(incomplete).not_to exist
+ end
+
+ it "cleans up 'java_cache'" do
+ java_cache = (HOMEBREW_CACHE/"java_cache")
+ java_cache.mkpath
+
+ shutup do
+ described_class.cleanup_cache
+ end
+
+ expect(java_cache).not_to exist
+ end
+
+ it "cleans up 'npm_cache'" do
+ npm_cache = (HOMEBREW_CACHE/"npm_cache")
+ npm_cache.mkpath
+
+ shutup do
+ described_class.cleanup_cache
+ end
+
+ expect(npm_cache).not_to exist
+ end
+ end
+end
diff --git a/Library/Homebrew/test/cleanup_test.rb b/Library/Homebrew/test/cleanup_test.rb
deleted file mode 100644
index bc7a6713c..000000000
--- a/Library/Homebrew/test/cleanup_test.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-require "testing_env"
-require "test/support/fixtures/testball"
-require "cleanup"
-require "fileutils"
-require "pathname"
-require "testing_env"
-
-class CleanupTests < Homebrew::TestCase
- def setup
- super
- @ds_store = Pathname.new "#{HOMEBREW_PREFIX}/Library/.DS_Store"
- FileUtils.touch @ds_store
- end
-
- def teardown
- FileUtils.rm_f @ds_store
- super
- end
-
- def test_cleanup
- shutup { Homebrew::Cleanup.cleanup }
- refute_predicate @ds_store, :exist?
- end
-
- def test_cleanup_dry_run
- ARGV << "--dry-run"
- shutup { Homebrew::Cleanup.cleanup }
- assert_predicate @ds_store, :exist?
- end
-
- def test_cleanup_formula
- f1 = Class.new(Testball) do
- version "1.0"
- end.new
- f2 = Class.new(Testball) do
- version "0.2"
- version_scheme 1
- end.new
- f3 = Class.new(Testball) do
- version "0.3"
- version_scheme 1
- end.new
- f4 = Class.new(Testball) do
- version "0.1"
- version_scheme 2
- end.new
-
- shutup do
- [f1, f2, f3, f4].each do |f|
- f.brew { f.install }
- Tab.create(f, DevelopmentTools.default_compiler, :libcxx).write
- end
- end
-
- assert_predicate f1, :installed?
- assert_predicate f2, :installed?
- assert_predicate f3, :installed?
- assert_predicate f4, :installed?
-
- shutup { Homebrew::Cleanup.cleanup_formula f3 }
-
- refute_predicate f1, :installed?
- refute_predicate f2, :installed?
- assert_predicate f3, :installed?
- assert_predicate f4, :installed?
- end
-
- def test_cleanup_logs
- path = (HOMEBREW_LOGS/"delete_me")
- path.mkpath
- ARGV << "--prune=all"
- shutup { Homebrew::Cleanup.cleanup_logs }
- refute_predicate path, :exist?
- end
-
- def test_cleanup_cache_incomplete_downloads
- incomplete = (HOMEBREW_CACHE/"something.incomplete")
- incomplete.mkpath
- shutup { Homebrew::Cleanup.cleanup_cache }
- refute_predicate incomplete, :exist?
- end
-
- def test_cleanup_cache_java_cache
- java_cache = (HOMEBREW_CACHE/"java_cache")
- java_cache.mkpath
- shutup { Homebrew::Cleanup.cleanup_cache }
- refute_predicate java_cache, :exist?
- end
-
- def test_cleanup_cache_npm_cache
- npm_cache = (HOMEBREW_CACHE/"npm_cache")
- npm_cache.mkpath
- shutup { Homebrew::Cleanup.cleanup_cache }
- refute_predicate npm_cache, :exist?
- end
-end