mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Fix removing unresolved default spec files from map
https://github.com/rubygems/rubygems/commit/7964917bbc
This commit is contained in:
parent
f42ad4a425
commit
1ac6890bd0
2 changed files with 21 additions and 0 deletions
|
@ -1303,6 +1303,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
||||||
def remove_unresolved_default_spec(spec)
|
def remove_unresolved_default_spec(spec)
|
||||||
spec.files.each do |file|
|
spec.files.each do |file|
|
||||||
@path_to_default_spec_map.delete(file)
|
@path_to_default_spec_map.delete(file)
|
||||||
|
@path_to_default_spec_map.delete(file.sub(suffix_regexp, ""))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,10 @@ class TestGemRequire < Gem::TestCase
|
||||||
assert require(path), "'#{path}' was already required"
|
assert require(path), "'#{path}' was already required"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def refute_require(path)
|
||||||
|
refute require(path), "'#{path}' was not yet required"
|
||||||
|
end
|
||||||
|
|
||||||
# Providing -I on the commandline should always beat gems
|
# Providing -I on the commandline should always beat gems
|
||||||
def test_dash_i_beats_gems
|
def test_dash_i_beats_gems
|
||||||
a1 = util_spec "a", "1", {"b" => "= 1"}, "lib/test_gem_require_a.rb"
|
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
|
assert_equal %w(default-2.0.0.0), loaded_spec_names
|
||||||
end
|
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
|
def test_realworld_default_gem
|
||||||
begin
|
begin
|
||||||
gem 'json'
|
gem 'json'
|
||||||
|
|
Loading…
Add table
Reference in a new issue