summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2023-09-02 15:53:27 -0500
committergit <svn-admin@ruby-lang.org>2023-10-15 04:46:32 +0000
commit83f929316e2ef860469886d8001b69a67f15a406 (patch)
tree698b67a2e4d27d6782469fa3627ce9cb61c0fea3 /spec
parent48c6cea330259a66ccf9757b06418b0653ec1dfb (diff)
[rubygems/rubygems] Fix force_ruby_platform: when the lockfile only locks the ruby platform
https://github.com/rubygems/rubygems/commit/7c50064c3c
Diffstat (limited to 'spec')
-rw-r--r--spec/bundler/install/gemfile/force_ruby_platform_spec.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/bundler/install/gemfile/force_ruby_platform_spec.rb b/spec/bundler/install/gemfile/force_ruby_platform_spec.rb
index 0e9f1f0292..208a629101 100644
--- a/spec/bundler/install/gemfile/force_ruby_platform_spec.rb
+++ b/spec/bundler/install/gemfile/force_ruby_platform_spec.rb
@@ -114,5 +114,48 @@ RSpec.describe "bundle install with force_ruby_platform DSL option", :jruby do
expect(the_bundle).to include_gems "depends_on_platform_specific 1.0.0 RUBY"
expect(the_bundle).to include_gems "platform_specific 1.0.0 #{Bundler.local_platform}"
end
+
+ it "uses ruby variants for the explicit transitive dependency with a lockile that has only ruby platform" do
+ lockfile <<-L
+ GEM
+ remote: #{file_uri_for(gem_repo4)}
+ specs:
+ dep_level_2 (1.0)
+ depends_on_platform_specific
+ depends_on_platform_specific (1.0)
+ platform_specific
+ platform_specific (1.0)
+
+ PLATFORMS
+ ruby
+
+ DEPENDENCIES
+ dep_level_2
+ platform_specific
+
+ BUNDLED WITH
+ #{Bundler::VERSION}
+ L
+
+ install_gemfile <<-G, :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo4.to_s }, :artifice => "compact_index", :verbose => true
+ source "#{file_uri_for(gem_repo4)}"
+
+ gem "platform_specific"
+ gem "depends_on_platform_specific"
+ G
+
+ expect(the_bundle).to include_gems "depends_on_platform_specific 1.0.0 #{Bundler.local_platform}"
+ expect(the_bundle).to include_gems "platform_specific 1.0.0 #{Bundler.local_platform}"
+
+ install_gemfile <<-G, :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo4.to_s }, :artifice => "compact_index"
+ source "#{file_uri_for(gem_repo4)}"
+
+ gem "platform_specific", :force_ruby_platform => true
+ gem "depends_on_platform_specific"
+ G
+
+ expect(the_bundle).to include_gems "depends_on_platform_specific 1.0.0 #{Bundler.local_platform}"
+ expect(the_bundle).to include_gems "platform_specific 1.0.0 RUBY"
+ end
end
end