summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pp.rb5
-rw-r--r--test/test_pp.rb4
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/pp.rb b/lib/pp.rb
index 0d16be55d8..352c26f636 100644
--- a/lib/pp.rb
+++ b/lib/pp.rb
@@ -488,11 +488,12 @@ end if defined?(Data.define)
class Range # :nodoc:
def pretty_print(q) # :nodoc:
- q.pp self.begin if self.begin
+ both_nil = self.begin == nil && self.end == nil
+ q.pp self.begin if self.begin != nil || both_nil
q.breakable ''
q.text(self.exclude_end? ? '...' : '..')
q.breakable ''
- q.pp self.end if self.end
+ q.pp self.end if self.end != nil || both_nil
end
end
diff --git a/test/test_pp.rb b/test/test_pp.rb
index 16f6fa7485..2646846d8b 100644
--- a/test/test_pp.rb
+++ b/test/test_pp.rb
@@ -34,6 +34,10 @@ class PPTest < Test::Unit::TestCase
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))
+ assert_equal("..false\n", PP.pp(..false, "".dup))
+ assert_equal("false..\n", PP.pp(false.., "".dup))
+ assert_equal("false..false\n", PP.pp(false..false, "".dup))
+ assert_equal("nil..nil\n", PP.pp(nil..nil, "".dup))
end
end