[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]