# HG changeset patch # User Claus Gittinger # Date 1226439429 -3600 # Node ID 8aeec57e44db570e10f082ad48740b21ad188a7f # Parent efd32656acce55f430a7c8372a4590a048867650 *** empty log message *** diff -r efd32656acce -r 8aeec57e44db RegressionTests__ExceptionTest.st --- a/RegressionTests__ExceptionTest.st Tue Nov 11 21:58:49 2008 +0100 +++ b/RegressionTests__ExceptionTest.st Tue Nov 11 22:37:09 2008 +0100 @@ -50,11 +50,13 @@ result := OrderedCollection new. zero := 0. - [ 0 // zero ] on:ZeroDivide do:[:ex| - self assert:(ex signal == ZeroDivide). - self assert:(ex originator == 0). - result add:#Error - ]. + [ 0 // zero ] + on:ZeroDivide + do:[:ex| + self assert:(ex signal == ZeroDivide). + self assert:(ex originator == 0). + result add:#Error + ]. self assert:(result size == 1). self assert:(result first == #Error). @@ -144,6 +146,70 @@ self run:#test3 self new test3 " +! + +test4_on_do + + |exceptionHappened zero| + + zero := 0. + exceptionHappened := false. + + [0 // zero] + on:ZeroDivide + do:[:ex| + exceptionHappened := true + ]. + + self assert:(exceptionHappened). + + + " + self run:#test4_on_do + self new test4_on_do + " +! + +test5_on_do_ensure + + |exceptionHappened ensureCalled zero| + + zero := 0. + exceptionHappened := ensureCalled := false. + + [0 // zero] + on:ZeroDivide + do:[:ex| exceptionHappened := true] + ensure:[ ensureCalled := true ]. + + self assert:(exceptionHappened). + self assert:(ensureCalled). + + " + self run:#test5_on_do_ensure + self new test5_on_do_ensure + " +! + +test6_on_do_ensure + + |exceptionHappened ensureCalled zero| + + zero := 0. + exceptionHappened := ensureCalled := false. + + [zero // 1] + on:ZeroDivide + do:[:ex| exceptionHappened := true] + ensure:[ ensureCalled := true ]. + + self assert:(exceptionHappened not). + self assert:(ensureCalled). + + " + self run:#test6_on_do_ensure + self new test6_on_do_ensure + " ! ! !ExceptionTest class methodsFor:'documentation'!