aboutsummaryrefslogtreecommitdiffstats
path: root/spec/commands
diff options
context:
space:
mode:
Diffstat (limited to 'spec/commands')
-rw-r--r--spec/commands/clean_spec.rb32
1 files changed, 31 insertions, 1 deletions
diff --git a/spec/commands/clean_spec.rb b/spec/commands/clean_spec.rb
index 72d422c3..acec0eef 100644
--- a/spec/commands/clean_spec.rb
+++ b/spec/commands/clean_spec.rb
@@ -567,7 +567,7 @@ describe "bundle clean" do
expect(exitstatus).to eq(0) if exitstatus
end
- it "doesn't remove gems in dry-run mode" do
+ it "doesn't remove gems in dry-run mode with path set" do
gemfile <<-G
source "file://#{gem_repo1}"
@@ -595,6 +595,36 @@ describe "bundle clean" do
expect(vendored_gems("bin/rackup")).to exist
end
+ it "doesn't remove gems in dry-run mode with no path set" do
+ gemfile <<-G
+ source "file://#{gem_repo1}"
+
+ gem "thin"
+ gem "foo"
+ G
+
+ bundle "install --path vendor/bundle --no-clean"
+
+ gemfile <<-G
+ source "file://#{gem_repo1}"
+
+ gem "thin"
+ G
+
+ bundle :install
+
+ bundle "configuration --delete path"
+
+ bundle "clean --dry-run"
+
+ expect(out).not_to include("Removing foo (1.0)")
+ expect(out).to include("Would have removed foo (1.0)")
+
+ should_have_gems "thin-1.0", "rack-1.0.0", "foo-1.0"
+
+ expect(vendored_gems("bin/rackup")).to exist
+ end
+
it "doesn't store dry run as a config setting" do
gemfile <<-G
source "file://#{gem_repo1}"