From 1ac6890bd05a48e385f564d212765a3a60899659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Thu, 25 Apr 2019 15:58:45 +0200 Subject: [rubygems/rubygems] Fix removing unresolved default spec files from map https://github.com/rubygems/rubygems/commit/7964917bbc --- test/rubygems/test_require.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/rubygems') diff --git a/test/rubygems/test_require.rb b/test/rubygems/test_require.rb index dc722f2e0f..b341249391 100644 --- a/test/rubygems/test_require.rb +++ b/test/rubygems/test_require.rb @@ -41,6 +41,10 @@ class TestGemRequire < Gem::TestCase assert require(path), "'#{path}' was already required" end + def refute_require(path) + refute require(path), "'#{path}' was not yet required" + end + # Providing -I on the commandline should always beat gems def test_dash_i_beats_gems a1 = util_spec "a", "1", {"b" => "= 1"}, "lib/test_gem_require_a.rb" @@ -334,6 +338,22 @@ class TestGemRequire < Gem::TestCase assert_equal %w(default-2.0.0.0), loaded_spec_names end + def test_default_gem_require_activates_just_once + default_gem_spec = new_default_spec("default", "2.0.0.0", + nil, "default/gem.rb") + install_default_specs(default_gem_spec) + + assert_require "default/gem" + + times_called = 0 + + Kernel.stub(:gem, ->(name, requirement) { times_called += 1 }) do + refute_require "default/gem" + end + + assert_equal 0, times_called + end + def test_realworld_default_gem begin gem 'json' -- cgit v1.2.3