1
0
Fork 0
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:
eregon 2012-08-14 10:21:04 +00:00
parent 795c29dcda
commit e1aa72d441
3 changed files with 9 additions and 11 deletions

View file

@ -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>
Kernel#inspect: improve consistency and do not call #to_s.

View file

@ -265,8 +265,7 @@ class PP < PrettyPrint
module ObjectMixin
# 1. specific pretty_print
# 2. specific inspect
# 3. specific to_s
# 4. generic pretty_print
# 3. generic pretty_print
# A default pretty printing method for general objects.
# It calls #pretty_print_instance_variables to list instance variables.
@ -283,18 +282,10 @@ class PP < PrettyPrint
inspect_method = method_method.call(:inspect)
rescue NameError
end
begin
to_s_method = method_method.call(:to_s)
rescue NameError
end
if inspect_method && /\(Kernel\)#/ !~ inspect_method.inspect
q.text self.inspect
elsif !inspect_method && self.respond_to?(: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
q.pp_object(self)
end

View file

@ -118,7 +118,6 @@ class PPInspectTest < Test::Unit::TestCase
def a.to_s() "aaa" end
result = PP.pp(a, '')
assert_equal("#{a.inspect}\n", result)
assert_equal("aaa\n", result)
end
end