aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_require.rb
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-08 01:32:18 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-08 01:32:18 +0000
commitc00e84327f14845bd484e76b5ee5dfeb1fa9ce3d (patch)
tree9f558dafa363f4f0118d504a50cd4461e2821cd1 /test/rubygems/test_require.rb
parent6b05153a3a75b74b64553d6a46f501d9ee0f0376 (diff)
downloadruby-c00e84327f14845bd484e76b5ee5dfeb1fa9ce3d.tar.gz
Merge rubygems master.
This is RC version of Rubygems 2.7.0. https://github.com/rubygems/rubygems/commit/688fb7e83c13c3fe7c2bb03c49a2db4c82852aee git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_require.rb')
-rw-r--r--test/rubygems/test_require.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/rubygems/test_require.rb b/test/rubygems/test_require.rb
index edb36f1f32..a846f46833 100644
--- a/test/rubygems/test_require.rb
+++ b/test/rubygems/test_require.rb
@@ -383,6 +383,44 @@ class TestGemRequire < Gem::TestCase
assert_equal %w(a-1), loaded_spec_names
end
+
+ def test_require_bundler
+ b1 = new_spec('bundler', '1', nil, "lib/bundler/setup.rb")
+ b2a = new_spec('bundler', '2.a', nil, "lib/bundler/setup.rb")
+ install_specs b1, b2a
+
+ require "rubygems/bundler_version_finder"
+ $:.clear
+ assert_require 'bundler/setup'
+ assert_equal %w[bundler-2.a], loaded_spec_names
+ assert_empty unresolved_names
+ end
+
+ def test_require_bundler_missing_bundler_version
+ Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["55", "reason"]) do
+ b1 = new_spec('bundler', '1.999999999', nil, "lib/bundler/setup.rb")
+ b2a = new_spec('bundler', '2.a', nil, "lib/bundler/setup.rb")
+ install_specs b1, b2a
+
+ e = assert_raises Gem::MissingSpecVersionError do
+ gem('bundler')
+ end
+ assert_match "Could not find 'bundler' (55) required by reason.", e.message
+ end
+ end
+
+ def test_require_bundler_with_bundler_version
+ Gem::BundlerVersionFinder.stub(:bundler_version_with_reason, ["1", "reason"]) do
+ b1 = new_spec('bundler', '1.999999999', nil, "lib/bundler/setup.rb")
+ b2 = new_spec('bundler', '2', nil, "lib/bundler/setup.rb")
+ install_specs b1, b2
+
+ $:.clear
+ assert_require 'bundler/setup'
+ assert_equal %w[bundler-1.999999999], loaded_spec_names
+ end
+ end
+
def silence_warnings
old_verbose, $VERBOSE = $VERBOSE, false
yield