Skip to content

Commit 16eaa82

Browse files
committed
#execute:recordedAs: now return the return of the block
Fixes #39
1 parent af8d35e commit 16eaa82

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

src/TinyLogger-Tests/TinyLoggerTest.class.st

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,25 @@ No time : End: This is a new test
222222
stream close ]
223223
]
224224

225+
{ #category : #test }
226+
TinyLoggerTest >> testExecuteRecordedAsReturnBlockContent [
227+
| contents stream bool |
228+
self skipInPharo6.
229+
bool := false.
230+
logger
231+
removeAllLoggers;
232+
addStdoutLogger.
233+
stream := '' writeStream.
234+
[ Stdio stub stdout willReturn: stream.
235+
bool := logger execute: [ true ] recordedAs: 'This is a new test'.
236+
contents := Stdio stdout contents asString.
237+
self assert: bool.
238+
self assert: (contents includesSubstring: 'Begin: This is a new test').
239+
self assert: (contents includesSubstring: 'End: This is a new test') ]
240+
ensure: [ Stdio recoverFromGHMutation.
241+
stream close ]
242+
]
243+
225244
{ #category : #test }
226245
TinyLoggerTest >> testFileLoggers [
227246
logger

src/TinyLogger/Object.extension.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Extension { #name : #Object }
22

33
{ #category : #'*TinyLogger' }
44
Object >> execute: aBlock recordedAs: aString [
5-
TinyCurrentLogger value execute: aBlock recordedAs: aString
5+
^ TinyCurrentLogger value execute: aBlock recordedAs: aString
66
]
77

88
{ #category : #'*TinyLogger' }

src/TinyLogger/TinyLogger.class.st

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,17 +181,19 @@ TinyLogger >> ensureTranscriptLogger [
181181

182182
{ #category : #'public API' }
183183
TinyLogger >> execute: aBlock recordedAs: aString [
184+
| result |
184185
self increaseDepthLevel.
185186
self record: 'Begin: ' , aString.
186187
self increaseDepthLevel.
187-
[ aBlock cull: aString ]
188+
[ result := aBlock cull: aString ]
188189
ifCurtailed: [ "If there is an error, we ensure we keep the right indentation and we print an end of action with error."
189190
self decreaseDepthLevel.
190191
self record: 'End with error: ' , aString.
191192
self decreaseDepthLevel ].
192193
self decreaseDepthLevel.
193194
self record: 'End: ' , aString.
194-
self decreaseDepthLevel
195+
self decreaseDepthLevel.
196+
^ result
195197
]
196198

197199
{ #category : #'accessing - loggers' }

0 commit comments

Comments
 (0)