[ruby/reline] Hash#inspect style has changed in ruby 3.4

[[Bug #20433]](https://bugs.ruby-lang.org/issues/20433)

https://github.com/ruby/reline/commit/ca457ffb70
This commit is contained in:
Nobuyoshi Nakada 2024-10-06 01:47:49 +09:00 committed by git
parent a6da8d69e6
commit e6fa7c3544

View File

@ -115,14 +115,13 @@ begin
def test_finish_autowrapped_line def test_finish_autowrapped_line
start_terminal(10, 40, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.') start_terminal(10, 40, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
write("[{'user'=>{'email'=>'a@a', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]\n") write("[{'user'=>{'email'=>'a@a', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]\n")
expected = [{'user'=>{'email'=>'a@a', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}].inspect
assert_screen(<<~EOC) assert_screen(<<~EOC)
Multiline REPL. Multiline REPL.
prompt> [{'user'=>{'email'=>'a@a', 'id'= prompt> [{'user'=>{'email'=>'a@a', 'id'=
>'ABC'}, 'version'=>4, 'status'=>'succee >'ABC'}, 'version'=>4, 'status'=>'succee
ded'}] ded'}]
=> [{"user"=>{"email"=>"a@a", "id"=>"ABC #{fold_multiline("=> " + expected, 40)}
"}, "version"=>4, "status"=>"succeeded"}
]
prompt> prompt>
EOC EOC
close close
@ -132,16 +131,14 @@ begin
start_terminal(20, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.') start_terminal(20, 30, %W{ruby -I#{@pwd}/lib #{@pwd}/test/reline/yamatanooroti/multiline_repl}, startup_message: 'Multiline REPL.')
write("[{'user'=>{'email'=>'abcdef@abcdef', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]#{"\C-b"*7}") write("[{'user'=>{'email'=>'abcdef@abcdef', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}]#{"\C-b"*7}")
write("\n") write("\n")
expected = [{'user'=>{'email'=>'abcdef@abcdef', 'id'=>'ABC'}, 'version'=>4, 'status'=>'succeeded'}].inspect
assert_screen(<<~EOC) assert_screen(<<~EOC)
Multiline REPL. Multiline REPL.
prompt> [{'user'=>{'email'=>'a prompt> [{'user'=>{'email'=>'a
bcdef@abcdef', 'id'=>'ABC'}, ' bcdef@abcdef', 'id'=>'ABC'}, '
version'=>4, 'status'=>'succee version'=>4, 'status'=>'succee
ded'}] ded'}]
=> [{"user"=>{"email"=>"abcdef #{fold_multiline("=> " + expected, 30)}
@abcdef", "id"=>"ABC"}, "versi
on"=>4, "status"=>"succeeded"}
]
prompt> prompt>
EOC EOC
close close
@ -1824,6 +1821,10 @@ begin
f.write content f.write content
end end
end end
def fold_multiline(str, width)
str.scan(/.{1,#{width}}/).each(&:rstrip!).join("\n")
end
end end
rescue LoadError, NameError rescue LoadError, NameError
# On Ruby repository, this test suit doesn't run because Ruby repo doesn't # On Ruby repository, this test suit doesn't run because Ruby repo doesn't