[rubygems/rubygems] Fix crash when commenting out a mirror in configuration

https://github.com/rubygems/rubygems/commit/2d99277328
This commit is contained in:
David Rodríguez 2022-05-28 18:37:41 +02:00 коммит произвёл git
Родитель ea31c5bcd1
Коммит d6684f063b
2 изменённых файлов: 29 добавлений и 1 удалений

Просмотреть файл

@ -487,7 +487,7 @@ module Bundler
/ix.freeze
def self.key_for(key)
key = normalize_uri(key).to_s if key.is_a?(String) && /https?:/ =~ key
key = normalize_uri(key).to_s if key.is_a?(String) && key.start_with?("http", "mirror.http")
key = key.to_s.gsub(".", "__").gsub("-", "___").upcase
"BUNDLE_#{key}"
end

Просмотреть файл

@ -435,6 +435,34 @@ E
end
end
describe "commented out settings with urls" do
before do
bundle "config set #mirror.https://rails-assets.org http://localhost:9292"
end
it "does not make bundler crash and ignores the configuration" do
bundle "config list --parseable"
expect(out).to eq("#mirror.https://rails-assets.org/=http://localhost:9292")
expect(err).to be_empty
ruby(<<~RUBY)
require "#{entrypoint}"
print Bundler.settings.mirror_for("https://rails-assets.org")
RUBY
expect(out).to eq("https://rails-assets.org/")
expect(err).to be_empty
bundle "config set mirror.all http://localhost:9293"
ruby(<<~RUBY)
require "#{entrypoint}"
print Bundler.settings.mirror_for("https://rails-assets.org")
RUBY
expect(out).to eq("http://localhost:9293/")
expect(err).to be_empty
end
end
describe "subcommands" do
it "list" do
bundle "config list", :env => { "BUNDLE_FOO" => "bar" }