summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Eskildsen <sirup@sirupsen.com>2015-10-05 20:51:31 -0400
committerSimon Eskildsen <sirup@sirupsen.com>2015-10-06 15:58:49 -0400
commitb4227f45dca620b89067e7465c3f93df7a1e7d17 (patch)
treeb5751731a7ab3dd5146e4571c973b67631d97077
parenta9dfc80300bfbad1e0eda9e8316b334f0ee5f752 (diff)
downloadbundler-b4227f45dca620b89067e7465c3f93df7a1e7d17.tar.gz
clean: add test for not removing git extensions artifacts
-rw-r--r--spec/commands/clean_spec.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/commands/clean_spec.rb b/spec/commands/clean_spec.rb
index f3f1bbee3a..cd5444e435 100644
--- a/spec/commands/clean_spec.rb
+++ b/spec/commands/clean_spec.rb
@@ -613,4 +613,26 @@ describe "bundle clean" do
should_have_gems "thin-1.0", "rack-1.0.0", "weakling-0.0.3"
should_not_have_gems "foo-1.0"
end
+
+ it "doesn't remove extensions artifacts from bundled git gems after clean", :rubygems => "2.2" do
+ build_git "very_simple_git_binary" do |s|
+ s.add_c_extension
+ end
+
+ revision = revision_for(lib_path("very_simple_git_binary-1.0"))
+
+ gemfile <<-G
+ source "file://#{gem_repo1}"
+
+ gem "very_simple_git_binary", :git => "#{lib_path("very_simple_git_binary-1.0")}", :ref => "#{revision}"
+ G
+
+ bundle "install --path vendor/bundle"
+ bundle :clean
+
+ expect(out).to eq("")
+
+ expect(vendored_gems("bundler/gems/extensions")).to exist
+ expect(vendored_gems("bundler/gems/very_simple_git_binary-1.0-#{revision[0..11]}")).to exist
+ end
end