[ruby/pp] Fix pretty printing a Data subclass instance when the subclass is anonymous
* It would be "#<data a=42>" (double space) instead of "#<data a=42>" (like #inspect). https://github.com/ruby/pp/commit/bed72bfcb8
This commit is contained in:
parent
62382a4345
commit
1ed3b60375
@ -422,7 +422,9 @@ end
|
||||
|
||||
class Data # :nodoc:
|
||||
def pretty_print(q) # :nodoc:
|
||||
q.group(1, sprintf("#<data %s", PP.mcall(self, Kernel, :class).name), '>') {
|
||||
class_name = PP.mcall(self, Kernel, :class).name
|
||||
class_name = " #{class_name}" if class_name
|
||||
q.group(1, "#<data#{class_name}", '>') {
|
||||
q.seplist(PP.mcall(self, Kernel, :class).members, lambda { q.text "," }) {|member|
|
||||
q.breakable
|
||||
q.text member.to_s
|
||||
|
@ -149,6 +149,9 @@ class PPCycleTest < Test::Unit::TestCase
|
||||
a = D.new("aaa", "bbb")
|
||||
assert_equal("#<data PPTestModule::PPCycleTest::D\n aaa=\"aaa\",\n bbb=\"bbb\">\n", PP.pp(a, ''.dup, 20))
|
||||
assert_equal("#{a.inspect}\n", PP.pp(a, ''.dup))
|
||||
|
||||
b = Data.define(:a).new(42)
|
||||
assert_equal("#{b.inspect}\n", PP.pp(b, ''.dup))
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user