*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Tue, 11 Nov 2008 22:37:09 +0100
changeset 349 8aeec57e44db
parent 348 efd32656acce
child 350 c07abe14c188
*** empty log message ***
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'!