Fixes in #mockMethod:do: - correctly pass receiver and original method.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 18 Feb 2015 16:30:07 +0100
changeset 3793 95cb401a7536
parent 3792 0aedc1a9ba73
child 3794 63076a73fb7e
Fixes in #mockMethod:do: - correctly pass receiver and original method. Use valuwWithOptionalArguments: to spare user to deal with arguments \when he does not need to.
MessageTracer.st
--- a/MessageTracer.st	Sun Feb 15 19:10:09 2015 +0100
+++ b/MessageTracer.st	Wed Feb 18 16:30:07 2015 +0100
@@ -1268,7 +1268,7 @@
         currentProcess := ProcessorScheduler knownProcesses detect:[:p | p id = currentProcess creatorId ] ifNone:[ nil ].
     ].
     mock ifTrue:[ 
-        mockedVal := #replacementBlock yourself valueWithArguments: (Array with: context) , (context args)
+        mockedVal := #replacementBlock yourself valueWithOptionalArguments: (((Array with: context receiver) , (context args)) copyWith: #originalMethod)
     ] ifFalse:[ 
         mockedVal := #originalMethod yourself
                         valueWithReceiver:(context receiver)
@@ -1357,6 +1357,7 @@
     "
 
     "Created: / 29-07-2014 / 09:44:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-02-2015 / 15:25:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 unmock: selector in: class 
@@ -3888,7 +3889,7 @@
 !MessageTracer class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.136 2015-02-01 09:21:20 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.137 2015-02-18 15:30:07 vrany Exp $'
 ! !