diff options
-rw-r--r-- | lib/bundler/stub_specification.rb | 4 | ||||
-rw-r--r-- | spec/bundler/install/gems/standalone_spec.rb | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/bundler/stub_specification.rb b/lib/bundler/stub_specification.rb index 4a23b2cfe8..88a4257fa4 100644 --- a/lib/bundler/stub_specification.rb +++ b/lib/bundler/stub_specification.rb @@ -67,6 +67,10 @@ module Bundler stub.full_gem_path end + def full_gem_path=(path) + stub.full_gem_path = path + end + def full_require_paths stub.full_require_paths end diff --git a/spec/bundler/install/gems/standalone_spec.rb b/spec/bundler/install/gems/standalone_spec.rb index 5cbb484c68..0bbd829148 100644 --- a/spec/bundler/install/gems/standalone_spec.rb +++ b/spec/bundler/install/gems/standalone_spec.rb @@ -147,9 +147,16 @@ RSpec.shared_examples "bundle install --standalone" do bundle "lock", :dir => cwd, :artifice => "compact_index" end - it "works" do + it "works and points to the vendored copies, not to the default copies" do bundle "config set --local path #{bundled_app("bundle")}" bundle :install, :standalone => true, :dir => cwd, :artifice => "compact_index", :env => { "BUNDLER_GEM_DEFAULT_DIR" => system_gem_path.to_s } + + load_path_lines = bundled_app("bundle/bundler/setup.rb").read.split("\n").select {|line| line.start_with?("$:.unshift") } + + expect(load_path_lines).to eq [ + '$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{RbConfig::CONFIG["ruby_version"]}/gems/bar-1.0.0/lib")', + '$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{RbConfig::CONFIG["ruby_version"]}/gems/foo-1.0.0/lib")', + ] end end |