[ruby/pp] Print beginless ranges properly

Instead of displaying the start of the range as nil

https://github.com/ruby/pp/commit/1df210d903
This commit is contained in:
Samuel Giddins 2023-12-20 17:55:50 -08:00 коммит произвёл git
Родитель 9c3299896e
Коммит e0312f90bb
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -444,7 +444,7 @@ end if defined?(Data.define)
class Range # :nodoc: class Range # :nodoc:
def pretty_print(q) # :nodoc: def pretty_print(q) # :nodoc:
q.pp self.begin q.pp self.begin if self.begin
q.breakable '' q.breakable ''
q.text(self.exclude_end? ? '...' : '..') q.text(self.exclude_end? ? '...' : '..')
q.breakable '' q.breakable ''

Просмотреть файл

@ -28,6 +28,13 @@ class PPTest < Test::Unit::TestCase
end end
assert_equal(%(""\n), PP.pp(o, "".dup)) assert_equal(%(""\n), PP.pp(o, "".dup))
end end
def test_range
assert_equal("0..1\n", PP.pp(0..1, "".dup))
assert_equal("0...1\n", PP.pp(0...1, "".dup))
assert_equal("0...\n", PP.pp(0..., "".dup))
assert_equal("...1\n", PP.pp(...1, "".dup))
end
end end
class HasInspect class HasInspect