1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/pp.rb: refine to_s test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2003-05-11 04:53:57 +00:00
parent 93aa87568b
commit 0b5d8d2d66
3 changed files with 19 additions and 12 deletions

View file

@ -1,4 +1,6 @@
Sun May 11 05:50:39 2003 Tanaka Akira <akr@m17n.org>
Sun May 11 13:50:12 2003 Tanaka Akira <akr@m17n.org>
* lib/pp.rb: refine to_s test.
* lib/pp.rb (PP::ObjectMixin#pretty_print): refine to_s handling.

View file

@ -115,6 +115,9 @@ PP#pp to print the object.
If you implement (({pretty_print})), it can be used as follows.
alias inspect pretty_print_inspect
== AUTHOR
Tanaka Akira <akr@m17n.org>
=end
require 'prettyprint'
@ -524,21 +527,21 @@ if __FILE__ == $0
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
end
class Test_to_s_with_iv
def initialize() @a = nil end
def to_s() "aaa" end
end
def test_to_s_with_iv
a = Test_to_s_with_iv.new
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
a = Object.new
def a.to_s() "aaa" end
a.instance_eval { @a = nil }
result = PP.pp(a, '')
assert_equal("#{a.inspect}\n", result)
assert_match(/\A#<Object.*>\n\z/m, result)
end
class Test_to_s_without_iv
def to_s() "aaa" end
end
def test_to_s_without_iv
a = Test_to_s_without_iv.new
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
a = Object.new
def a.to_s() "aaa" end
result = PP.pp(a, '')
assert_equal("#{a.inspect}\n", result)
assert_equal("aaa\n", result)
end
end

View file

@ -119,6 +119,8 @@ Christian Lindig, Strictly Pretty, March 2000,
Philip Wadler, A prettier printer, March 1998,
((<URL:http://www.research.avayalabs.com/user/wadler/topics/recent.html#prettier>))
== AUTHOR
Tanaka Akira <akr@m17n.org>
=end
class PrettyPrint