reports/Builder__TestReportFormat.st
changeset 91 971a6aa7f424
parent 88 56c85ef68928
child 104 7b1b26108f1f
--- a/reports/Builder__TestReportFormat.st	Mon Jul 02 23:32:13 2012 +0200
+++ b/reports/Builder__TestReportFormat.st	Mon Jul 02 23:32:29 2012 +0200
@@ -108,7 +108,13 @@
     ].
     s nextPutAll:'vars: '; cr.
     context vars keysAndValuesDo:[:idx :eachVar |
-        s nextPutAll:'  '. idx printOn: s. s nextPutAll:': '. eachVar printOn: s.s cr.
+        s nextPutAll:'  '. idx printOn: s. s nextPutAll:': '. 
+        eachVar isString ifTrue:[
+            eachVar storeOn: s.
+        ] ifFalse:[
+            eachVar printOn: s.
+        ].
+        s cr.
     ].
     s nextPutAll:'source: '; cr.    
 
@@ -153,16 +159,22 @@
 
 writeStackTrace:err of:aTestCase on: str
 
-    |context|
+    | context stop |
 
     context := err signalerContext.
-    
-    [ context isNil 
-        or:[ (context receiver == aTestCase and:[ context selector == #runCase ])
-            or: [ context receiver == self and:[ context selector == #setUp ] ] ] ] whileFalse:
-                [ self writeContext: context on: str.
-                str cr; cr.
-                context := context sender ]
+    stop := false.
+
+    [ context notNil ] whileTrue:[
+        self writeContext: context on: str.
+        str cr; cr.
+
+        context receiver == aTestCase ifTrue:[
+            context selector == aTestCase selector ifTrue:[ ^ self ].
+            context selector == #setUp ifTrue:[ ^ self ].
+        ].
+        context := context sender.
+
+    ].
 
     "Created: / 03-08-2011 / 14:53:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -269,8 +281,10 @@
             nextPutAll:(self encode:type);
             nextPutAll:'" message="';
             nextPutAll:(self encode: message);
-            nextPutAll:'"><!![CDATA['; cr;
-            nextPutAll:((stacktrace ? 'stacktrace not available') replaceAll: (Character codePoint:0) with: $?);
+            nextPutAll:'"><!![CDATA['; cr.
+        stream
+            nextPutAll:(stacktrace ? 'stacktrace not available').
+        stream
             nextPutAll:']]></'; nextPutAll: outcome; nextPutAll:'>';
             nextPut:Character lf
     ].