diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2021-11-11 10:44:07 +0900 |
---|---|---|
committer | nagachika <nagachika@ruby-lang.org> | 2021-11-22 10:51:35 +0900 |
commit | e262272b6a50c1a92cdcfee684e82f9242ef8171 (patch) | |
tree | d7baf0c94ed9670d7ef097ce0390ca543ee97b33 /spec | |
parent | 24f911f474e11560af5fbd0f637f4c0ded23f604 (diff) |
Merge RubyGems 3.2.29 and Bundler 2.2.29
Diffstat (limited to 'spec')
-rw-r--r-- | spec/bundler/bundler/source/git_spec.rb | 45 | ||||
-rw-r--r-- | spec/bundler/commands/newgem_spec.rb | 2 | ||||
-rw-r--r-- | spec/bundler/support/hax.rb | 5 | ||||
-rw-r--r-- | spec/bundler/support/path.rb | 9 |
4 files changed, 58 insertions, 3 deletions
diff --git a/spec/bundler/bundler/source/git_spec.rb b/spec/bundler/bundler/source/git_spec.rb index 6668b6e69a..ed6dc3cd29 100644 --- a/spec/bundler/bundler/source/git_spec.rb +++ b/spec/bundler/bundler/source/git_spec.rb @@ -24,5 +24,50 @@ RSpec.describe Bundler::Source::Git do expect(subject.to_s).to eq "https://x-oauth-basic@github.com/foo/bar.git" end end + + context "when the source has a glob specifier" do + let(:glob) { "bar/baz/*.gemspec" } + let(:options) do + { "uri" => uri, "glob" => glob } + end + + it "includes it" do + expect(subject.to_s).to eq "https://github.com/foo/bar.git (glob: bar/baz/*.gemspec)" + end + end + + context "when the source has a reference" do + let(:git_proxy_stub) do + instance_double(Bundler::Source::Git::GitProxy, :revision => "123abc", :branch => "v1.0.0") + end + let(:options) do + { "uri" => uri, "ref" => "v1.0.0" } + end + + before do + allow(Bundler::Source::Git::GitProxy).to receive(:new).and_return(git_proxy_stub) + end + + it "includes it" do + expect(subject.to_s).to eq "https://github.com/foo/bar.git (at v1.0.0@123abc)" + end + end + + context "when the source has both reference and glob specifiers" do + let(:git_proxy_stub) do + instance_double(Bundler::Source::Git::GitProxy, :revision => "123abc", :branch => "v1.0.0") + end + let(:options) do + { "uri" => uri, "ref" => "v1.0.0", "glob" => "gems/foo/*.gemspec" } + end + + before do + allow(Bundler::Source::Git::GitProxy).to receive(:new).and_return(git_proxy_stub) + end + + it "includes both" do + expect(subject.to_s).to eq "https://github.com/foo/bar.git (at v1.0.0@123abc, glob: gems/foo/*.gemspec)" + end + end end end diff --git a/spec/bundler/commands/newgem_spec.rb b/spec/bundler/commands/newgem_spec.rb index a01d8b0aa8..0d84153245 100644 --- a/spec/bundler/commands/newgem_spec.rb +++ b/spec/bundler/commands/newgem_spec.rb @@ -456,7 +456,7 @@ RSpec.describe "bundle gem" do it "sets a minimum ruby version" do bundle "gem #{gem_name}" - expect(generated_gemspec.required_ruby_version).to eq(Gem::Requirement.new(Gem.ruby_version < Gem::Version.new("2.4.a") ? ">= 2.3.0" : ">= 2.4.0")) + expect(generated_gemspec.required_ruby_version.to_s).to start_with(">=") end it "requires the version file" do diff --git a/spec/bundler/support/hax.rb b/spec/bundler/support/hax.rb index aaf8c74894..0ad5239128 100644 --- a/spec/bundler/support/hax.rb +++ b/spec/bundler/support/hax.rb @@ -9,7 +9,10 @@ module Gem Gem.ruby = ENV["RUBY"] end - @default_dir = ENV["BUNDLER_GEM_DEFAULT_DIR"] if ENV["BUNDLER_GEM_DEFAULT_DIR"] + if ENV["BUNDLER_GEM_DEFAULT_DIR"] + @default_dir = ENV["BUNDLER_GEM_DEFAULT_DIR"] + @default_specifications_dir = nil + end if ENV["BUNDLER_SPEC_PLATFORM"] class Platform diff --git a/spec/bundler/support/path.rb b/spec/bundler/support/path.rb index 9de716ff35..a7272bc019 100644 --- a/spec/bundler/support/path.rb +++ b/spec/bundler/support/path.rb @@ -275,7 +275,14 @@ module Spec end def rubocop_gemfile_basename - source_root.join("tool/bundler/#{RUBY_VERSION.start_with?("2.3") ? "rubocop23_gems.rb" : "rubocop_gems.rb"}") + filename = if RUBY_VERSION.start_with?("2.3") + "rubocop23_gems" + elsif RUBY_VERSION.start_with?("2.4") + "rubocop24_gems" + else + "rubocop_gems" + end + source_root.join("tool/bundler/#{filename}.rb") end extend self |