summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--lib/test/unit/assertions.rb33
-rw-r--r--test/testunit/test_assertions.rb8
3 files changed, 41 insertions, 10 deletions
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 <ntalbott@ruby-lang.org>
+Sun Oct 5 09:52:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+
+ * 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 <ntalbott@ruby-lang.org>
* 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 <<EOM.chop
-Class: <#{object.class}>
-Message: <#{object.message}>
+ <<EOM.chop
+Class: <#{convert(object.class)}>
+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<ArgumentError> exception expected but was\nClass: <RuntimeError>\nMessage: <Error>\n---Backtrace---\n.+\n---------------\Z}m) {
+ check_fails(%r{\Afailed assert_raises.\n<ArgumentError> exception expected but was\nClass: <RuntimeError>\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: <RuntimeError>\nMessage: <Error>\n---Backtrace---\n.+\n---------------\Z}m) {
+ check_fails(%r{\AException raised:\nClass: <RuntimeError>\nMessage: <"Error">\n---Backtrace---\n.+\n---------------\Z}m) {
assert_nothing_raised {
raise "Error"
}
}
- check_fails(%r{\Afailed assert_nothing_raised\.\nException raised:\nClass: <RuntimeError>\nMessage: <Error>\n---Backtrace---\n.+\n---------------\Z}m) {
+ check_fails(%r{\Afailed assert_nothing_raised\.\nException raised:\nClass: <RuntimeError>\nMessage: <"Error">\n---Backtrace---\n.+\n---------------\Z}m) {
assert_nothing_raised("failed assert_nothing_raised") {
raise "Error"
}
}
- check_fails(%r{\AException raised:\nClass: <RuntimeError>\nMessage: <Error>\n---Backtrace---\n.+\n---------------\Z}m) {
+ check_fails(%r{\AException raised:\nClass: <RuntimeError>\nMessage: <"Error">\n---Backtrace---\n.+\n---------------\Z}m) {
assert_nothing_raised(StandardError, RuntimeError) {
raise "Error"
}