Fixed setup of a SplittingStream when running tests - wrap Stdout / Stderr to an EncodedStream
to allow logging of Unicode16/32Strings.
--- a/reports/Builder__TestReport.st Wed Oct 29 15:11:15 2014 +0100
+++ b/reports/Builder__TestReport.st Sun Dec 07 02:13:29 2014 +0100
@@ -367,15 +367,18 @@
!TestReport::Result methodsFor:'running'!
performCase:aTestCase
- | savedStdout savedStderr savedTranscript |
+ | savedStdout savedStderr savedTranscript encoder |
savedStdout := Stdout.
savedStderr := Stdout.
savedTranscript := Transcript.
+ encoder := OperatingSystem isMSWINDOWSlike
+ ifTrue:[ CharacterEncoder encoderForUTF8 ]
+ ifFalse:[ CharacterEncoder encoderFor: OperatingSystem getCodeset ].
collector := WriteStream on:(String new:100).
[
- Stdout := SplittingWriteStream on:collector and: Stdout.
- Stderr := SplittingWriteStream on:collector and: Stderr.
+ Stdout := SplittingWriteStream on:collector and: (EncodedStream stream: Stdout encoder: encoder).
+ Stderr := SplittingWriteStream on:collector and: (EncodedStream stream: Stderr encoder: encoder).
Transcript := SplittingWriteStream on:collector and: Transcript.
time := Time millisecondsToRun: [ super performCase: aTestCase ]
] ensure:[
@@ -387,7 +390,7 @@
].
"Created: / 03-08-2011 / 18:40:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-09-2014 / 15:28:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-12-2014 / 01:12:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
runCase:aTestCase debugged: debugged