On 12 Jan 2016, at 00:26, abdelghani ALIDRA <alidrandco@yahoo.fr> wrote:
Hi,
I observed this unexpected behavior in test classes. In a test class define a method :
testBlock |aBlock| aBlock := [ ^1 ]. aBlock value. self assert: false.
Althought the assertion is false at the end of the test, the test is green. Actually, It does not matter what you put after aBlock value, the test always succedes (I tried to put a self halt, it does not execute)
The test is 'does an explicit return from a block return from the whole method'. Of course it does. But if it would not, you would arrive at the self assert: false and the test would fail. You see ? BTW, this can also be written as self fail - search for the senders of that message for more examples.
I tried this both in Pharo 4 and 5 under Windows and MacOS.
Any ideas?
Cheers Abdelghani