ruby-changes:73077
From: Aleksandr <ko1@a...>
Date: Sun, 28 Aug 2022 02:04:32 +0900 (JST)
Subject: [ruby-changes:73077] 381d8e43ce (master): [rubygems/rubygems] Bundler: make to_lock consistent between Gem::Dependency and Bundler::Dependency
https://git.ruby-lang.org/ruby.git/commit/?id=381d8e43ce From 381d8e43ce33378345a834b3e554e977f157351a Mon Sep 17 00:00:00 2001 From: Aleksandr Varnin <10187586+cmrd-senya@u...> Date: Wed, 24 Aug 2022 19:09:10 +0300 Subject: [rubygems/rubygems] Bundler: make to_lock consistent between Gem::Dependency and Bundler::Dependency https://github.com/rubygems/rubygems/commit/971d57cf5a --- lib/bundler/dependency.rb | 2 +- lib/bundler/lockfile_generator.rb | 2 +- spec/bundler/bundler/dependency_spec.rb | 37 +++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 spec/bundler/bundler/dependency_spec.rb diff --git a/lib/bundler/dependency.rb b/lib/bundler/dependency.rb index 7f94079e09..52c6fff194 100644 --- a/lib/bundler/dependency.rb +++ b/lib/bundler/dependency.rb @@ -151,7 +151,7 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/dependency.rb#L151 def to_lock out = super out << "!" if source - out << "\n" + out end def specific? diff --git a/lib/bundler/lockfile_generator.rb b/lib/bundler/lockfile_generator.rb index 0578a93fdc..23413dbdd6 100644 --- a/lib/bundler/lockfile_generator.rb +++ b/lib/bundler/lockfile_generator.rb @@ -60,7 +60,7 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/lockfile_generator.rb#L60 handled = [] definition.dependencies.sort_by(&:to_s).each do |dep| next if handled.include?(dep.name) - out << dep.to_lock + out << dep.to_lock << "\n" handled << dep.name end end diff --git a/spec/bundler/bundler/dependency_spec.rb b/spec/bundler/bundler/dependency_spec.rb new file mode 100644 index 0000000000..f470152996 --- /dev/null +++ b/spec/bundler/bundler/dependency_spec.rb @@ -0,0 +1,37 @@ https://github.com/ruby/ruby/blob/trunk/spec/bundler/bundler/dependency_spec.rb#L1 +# frozen_string_literal: true + +RSpec.describe Bundler::Dependency do + let(:options) do + {} + end + let(:dependency) do + described_class.new( + "test_gem", + "1.0.0", + options + ) + end + + describe "to_lock" do + it "returns formatted string" do + expect(dependency.to_lock).to eq(" test_gem (= 1.0.0)") + end + + it "matches format of Gem::Dependency#to_lock" do + gem_dependency = Gem::Dependency.new("test_gem", "1.0.0") + expect(dependency.to_lock).to eq(gem_dependency.to_lock) + end + + context "when source is passed" do + let(:options) do + { + "source" => Bundler::Source::Git.new({}), + } + end + + it "returns formatted string with exclamation mark" do + expect(dependency.to_lock).to eq(" test_gem (= 1.0.0)!") + end + end + end +end -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/