summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2016-03-29 18:43:25 -0500
committerSamuel Giddins <segiddins@segiddins.me>2016-09-07 17:42:47 +0200
commit6653e1895cb8c98ff20cebc9a5d329d03dd126a9 (patch)
treed7cb4592d486fd87e443d6e4adb451a1c8d8b376
parent4a77af07fe8ce693d52aac5413e15566778218b1 (diff)
downloadbundler-6653e1895cb8c98ff20cebc9a5d329d03dd126a9.tar.gz
Add a spec for not double-eval'ing a Gemfile
-rw-r--r--spec/install/gemfile/lockfile_spec.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/install/gemfile/lockfile_spec.rb b/spec/install/gemfile/lockfile_spec.rb
new file mode 100644
index 0000000000..5d8c6de316
--- /dev/null
+++ b/spec/install/gemfile/lockfile_spec.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+require "spec_helper"
+
+describe "bundle install with a lockfile present" do
+ let(:gf) { <<-G }
+ source "file://#{gem_repo1}"
+
+ gem "rack", "1.0.0"
+ G
+
+ before do
+ install_gemfile(gf)
+ end
+
+ context "gemfile evaluation" do
+ let(:gf) { super() + "\n\n File.open('evals', 'a') {|f| f << %(1\n) }" }
+ it "does not evaluate the gemfile twice" do
+ bundle! :install
+
+ # The first eval is from the initial install, we're testing that the
+ # second install doesn't double-eval
+ expect(bundled_app("evals").read.lines.size).to eq(2)
+ end
+ end
+end