diff options
author | Ellen Marie Dash <me@duckie.co> | 2023-02-28 19:29:58 -0500 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-03-02 00:50:58 +0000 |
commit | d2d521b274f6fb5630b64365c6f1af0dbbc0719f (patch) | |
tree | cdb895c8693b1d0d31cc9b445cd9cce647c2c30f /spec/bundler/lock | |
parent | 35457ebb8f31fd34b89e8214a33e933f69c8021b (diff) |
[rubygems/rubygems] Regenerate lockfile if spec list is invalid/empty.
https://github.com/rubygems/rubygems/commit/d2c56315e2
Diffstat (limited to 'spec/bundler/lock')
-rw-r--r-- | spec/bundler/lock/lockfile_spec.rb | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/bundler/lock/lockfile_spec.rb b/spec/bundler/lock/lockfile_spec.rb index 185e2a85fa..58037ee3a6 100644 --- a/spec/bundler/lock/lockfile_spec.rb +++ b/spec/bundler/lock/lockfile_spec.rb @@ -1221,6 +1221,57 @@ RSpec.describe "the lockfile format" do and include("Either installing with `--full-index` or running `bundle update rack_middleware` should fix the problem.") end + it "regenerates a lockfile with no specs" do + build_repo4 do + build_gem "indirect_dependency", "1.2.3" do |s| + s.metadata["funding_uri"] = "https://example.com/donate" + end + + build_gem "direct_dependency", "4.5.6" do |s| + s.add_dependency "indirect_dependency", ">= 0" + end + end + + lockfile <<-G + GEM + remote: #{file_uri_for(gem_repo4)}/ + specs: + + PLATFORMS + ruby + + DEPENDENCIES + direct_dependency + + BUNDLED WITH + #{Bundler::VERSION} + G + + install_gemfile <<-G + source "#{file_uri_for(gem_repo4)}" + + gem "direct_dependency" + G + + expect(lockfile).to eq <<~G + GEM + remote: #{file_uri_for(gem_repo4)}/ + specs: + direct_dependency (4.5.6) + indirect_dependency + indirect_dependency (1.2.3) + + PLATFORMS + #{lockfile_platforms} + + DEPENDENCIES + direct_dependency + + BUNDLED WITH + #{Bundler::VERSION} + G + end + it "auto-heals when the lockfile is missing dependent specs" do build_repo4 do build_gem "minitest-bisect", "1.6.0" do |s| |