From 7223c0da152114c84e1c4261a282faaea21646fb Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Thu, 26 May 2022 12:22:42 -0700 Subject: Do not chomp trailing line separator IO#each with nil separator and chomp nil separator means no sepator, so chomp should not remove a line separator. Partially Fixes [Bug #18770] --- spec/ruby/core/io/shared/each.rb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'spec/ruby') diff --git a/spec/ruby/core/io/shared/each.rb b/spec/ruby/core/io/shared/each.rb index badf8985e0..607e7de03e 100644 --- a/spec/ruby/core/io/shared/each.rb +++ b/spec/ruby/core/io/shared/each.rb @@ -190,10 +190,20 @@ describe :io_each, shared: true do end describe "when passed chomp and nil as a separator" do - it "yields self's content without trailing new line character" do - @io.pos = 100 - @io.send(@method, nil, chomp: true) { |s| ScratchPad << s } - ScratchPad.recorded.should == ["qui a linha cinco.\nHere is line six."] + ruby_version_is "3.2" do + it "yields self's content" do + @io.pos = 100 + @io.send(@method, nil, chomp: true) { |s| ScratchPad << s } + ScratchPad.recorded.should == ["qui a linha cinco.\nHere is line six.\n"] + end + end + + ruby_version_is ""..."3.2" do + it "yields self's content without trailing new line character" do + @io.pos = 100 + @io.send(@method, nil, chomp: true) { |s| ScratchPad << s } + ScratchPad.recorded.should == ["qui a linha cinco.\nHere is line six."] + end end end -- cgit v1.2.3