mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
update PP with recent Kernel#inspect change. Patch by Yusuke Endoh.
* lib/pp.rb (class PP): do not call #to_s anymore, as #inspect no more does. * test/test_pp.rb (class PPInspectTest): remove related assertion. [ruby-core:43238][Feature #6130] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
795c29dcda
commit
e1aa72d441
3 changed files with 9 additions and 11 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
Tue Aug 14 19:19:10 2012 Benoit Daloze <eregontp@gmail.com>
|
||||||
|
|
||||||
|
update PP with recent Kernel#inspect change. Patch by Yusuke Endoh.
|
||||||
|
|
||||||
|
* lib/pp.rb (class PP): do not call #to_s anymore, as #inspect no more does.
|
||||||
|
* test/test_pp.rb (class PPInspectTest): remove related assertion.
|
||||||
|
[ruby-core:43238][Feature #6130]
|
||||||
|
|
||||||
Tue Aug 14 19:09:38 2012 Benoit Daloze <eregontp@gmail.com>
|
Tue Aug 14 19:09:38 2012 Benoit Daloze <eregontp@gmail.com>
|
||||||
|
|
||||||
Kernel#inspect: improve consistency and do not call #to_s.
|
Kernel#inspect: improve consistency and do not call #to_s.
|
||||||
|
|
11
lib/pp.rb
11
lib/pp.rb
|
@ -265,8 +265,7 @@ class PP < PrettyPrint
|
||||||
module ObjectMixin
|
module ObjectMixin
|
||||||
# 1. specific pretty_print
|
# 1. specific pretty_print
|
||||||
# 2. specific inspect
|
# 2. specific inspect
|
||||||
# 3. specific to_s
|
# 3. generic pretty_print
|
||||||
# 4. generic pretty_print
|
|
||||||
|
|
||||||
# A default pretty printing method for general objects.
|
# A default pretty printing method for general objects.
|
||||||
# It calls #pretty_print_instance_variables to list instance variables.
|
# It calls #pretty_print_instance_variables to list instance variables.
|
||||||
|
@ -283,18 +282,10 @@ class PP < PrettyPrint
|
||||||
inspect_method = method_method.call(:inspect)
|
inspect_method = method_method.call(:inspect)
|
||||||
rescue NameError
|
rescue NameError
|
||||||
end
|
end
|
||||||
begin
|
|
||||||
to_s_method = method_method.call(:to_s)
|
|
||||||
rescue NameError
|
|
||||||
end
|
|
||||||
if inspect_method && /\(Kernel\)#/ !~ inspect_method.inspect
|
if inspect_method && /\(Kernel\)#/ !~ inspect_method.inspect
|
||||||
q.text self.inspect
|
q.text self.inspect
|
||||||
elsif !inspect_method && self.respond_to?(:inspect)
|
elsif !inspect_method && self.respond_to?(:inspect)
|
||||||
q.text self.inspect
|
q.text self.inspect
|
||||||
elsif to_s_method && /\(Kernel\)#/ !~ to_s_method.inspect
|
|
||||||
q.text self.to_s
|
|
||||||
elsif !to_s_method && self.respond_to?(:to_s)
|
|
||||||
q.text self.to_s
|
|
||||||
else
|
else
|
||||||
q.pp_object(self)
|
q.pp_object(self)
|
||||||
end
|
end
|
||||||
|
|
|
@ -118,7 +118,6 @@ class PPInspectTest < Test::Unit::TestCase
|
||||||
def a.to_s() "aaa" end
|
def a.to_s() "aaa" end
|
||||||
result = PP.pp(a, '')
|
result = PP.pp(a, '')
|
||||||
assert_equal("#{a.inspect}\n", result)
|
assert_equal("#{a.inspect}\n", result)
|
||||||
assert_equal("aaa\n", result)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue