diff --git a/ChangeLog b/ChangeLog index 476bc608be..a06e0d4e22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,12 @@ -Sun Oct 5 :00 2003 Nathaniel Talbott +Sun Oct 5 09:52:00 2003 Nathaniel Talbott + + * lib/test/unit/assertions.rb: will use pp for output if available. + Can be disabled by setting Assertions.use_pp = false. + + * test/testunit/test_assertions.rb: made a small change to exception + formatting. + +Sun Oct 5 07:42:00 2003 Nathaniel Talbott * lib/test/unit/assertions.rb: made small improvements to assertion messages. Deprecated Assertions#assert_not_nil; use #assert instead. diff --git a/lib/test/unit/assertions.rb b/lib/test/unit/assertions.rb index 23e5789270..fdb9632e09 100644 --- a/lib/test/unit/assertions.rb +++ b/lib/test/unit/assertions.rb @@ -336,15 +336,28 @@ EOT private def add_assertion end + + # Select whether or not to use the prettyprinter. If this + # option is set to false before any assertions are made, the + # prettyprinter will not be required at all. + public + def self.use_pp=(value) + AssertionMessage.use_pp = value + end class AssertionMessage # :nodoc: all + @use_pp = true + class << self + attr_accessor :use_pp + end + class Literal def initialize(value) @value = value end def inspect - @value + @value.to_s end end @@ -383,15 +396,25 @@ EOT def convert(object) case object when Exception - return < -Message: <#{object.message}> + < +Message: <#{convert(object.message)}> ---Backtrace--- #{filter_backtrace(object.backtrace).join("\n")} --------------- EOM else - return object.inspect + if(self.class.use_pp) + begin + require 'pp' + rescue LoadError + self.class.use_pp = false + return object.inspect + end unless(defined?(PP)) + PP.pp(object, '').chomp + else + object.inspect + end end end diff --git a/test/testunit/test_assertions.rb b/test/testunit/test_assertions.rb index 8dd4f61a58..ab92bcfc6d 100644 --- a/test/testunit/test_assertions.rb +++ b/test/testunit/test_assertions.rb @@ -133,7 +133,7 @@ module Test 1 + 1 } } - check_fails(%r{\Afailed assert_raises.\n exception expected but was\nClass: \nMessage: \n---Backtrace---\n.+\n---------------\Z}m) { + check_fails(%r{\Afailed assert_raises.\n exception expected but was\nClass: \nMessage: <"Error">\n---Backtrace---\n.+\n---------------\Z}m) { assert_raises(ArgumentError, "failed assert_raises") { raise "Error" } @@ -265,17 +265,17 @@ module Test rescue ZeroDivisionError end } - check_fails(%r{\AException raised:\nClass: \nMessage: \n---Backtrace---\n.+\n---------------\Z}m) { + check_fails(%r{\AException raised:\nClass: \nMessage: <"Error">\n---Backtrace---\n.+\n---------------\Z}m) { assert_nothing_raised { raise "Error" } } - check_fails(%r{\Afailed assert_nothing_raised\.\nException raised:\nClass: \nMessage: \n---Backtrace---\n.+\n---------------\Z}m) { + check_fails(%r{\Afailed assert_nothing_raised\.\nException raised:\nClass: \nMessage: <"Error">\n---Backtrace---\n.+\n---------------\Z}m) { assert_nothing_raised("failed assert_nothing_raised") { raise "Error" } } - check_fails(%r{\AException raised:\nClass: \nMessage: \n---Backtrace---\n.+\n---------------\Z}m) { + check_fails(%r{\AException raised:\nClass: \nMessage: <"Error">\n---Backtrace---\n.+\n---------------\Z}m) { assert_nothing_raised(StandardError, RuntimeError) { raise "Error" }