RegressionTests__ExceptionTest.st
changeset 349 8aeec57e44db
parent 241 5b8a5dd10628
child 634 ae51f7778dad
equal deleted inserted replaced
348:efd32656acce 349:8aeec57e44db
    48     |result zero|
    48     |result zero|
    49 
    49 
    50     result := OrderedCollection new.
    50     result := OrderedCollection new.
    51     zero := 0.
    51     zero := 0.
    52 
    52 
    53     [ 0 // zero ] on:ZeroDivide do:[:ex|
    53     [ 0 // zero ] 
    54         self assert:(ex signal == ZeroDivide).
    54         on:ZeroDivide 
    55         self assert:(ex originator == 0).
    55         do:[:ex|
    56         result add:#Error 
    56             self assert:(ex signal == ZeroDivide).
    57     ].
    57             self assert:(ex originator == 0).
       
    58             result add:#Error 
       
    59         ].
    58     self assert:(result size == 1).
    60     self assert:(result size == 1).
    59     self assert:(result first == #Error).
    61     self assert:(result first == #Error).
    60 
    62 
    61 
    63 
    62     "
    64     "
   142 
   144 
   143     "
   145     "
   144      self run:#test3
   146      self run:#test3
   145      self new test3
   147      self new test3
   146     "
   148     "
       
   149 !
       
   150 
       
   151 test4_on_do
       
   152 
       
   153     |exceptionHappened zero|
       
   154 
       
   155     zero := 0.
       
   156     exceptionHappened := false.
       
   157 
       
   158     [0 // zero] 
       
   159         on:ZeroDivide 
       
   160         do:[:ex|
       
   161             exceptionHappened := true
       
   162         ].
       
   163 
       
   164     self assert:(exceptionHappened).
       
   165 
       
   166 
       
   167     "
       
   168      self run:#test4_on_do
       
   169      self new test4_on_do
       
   170     "
       
   171 !
       
   172 
       
   173 test5_on_do_ensure
       
   174 
       
   175     |exceptionHappened ensureCalled zero|
       
   176 
       
   177     zero := 0.
       
   178     exceptionHappened := ensureCalled := false.
       
   179 
       
   180     [0 // zero] 
       
   181         on:ZeroDivide 
       
   182         do:[:ex| exceptionHappened := true]
       
   183         ensure:[ ensureCalled := true ].
       
   184 
       
   185     self assert:(exceptionHappened).
       
   186     self assert:(ensureCalled).
       
   187 
       
   188     "
       
   189      self run:#test5_on_do_ensure
       
   190      self new test5_on_do_ensure
       
   191     "
       
   192 !
       
   193 
       
   194 test6_on_do_ensure
       
   195 
       
   196     |exceptionHappened ensureCalled zero|
       
   197 
       
   198     zero := 0.
       
   199     exceptionHappened := ensureCalled := false.
       
   200 
       
   201     [zero // 1] 
       
   202         on:ZeroDivide 
       
   203         do:[:ex| exceptionHappened := true]
       
   204         ensure:[ ensureCalled := true ].
       
   205 
       
   206     self assert:(exceptionHappened not).
       
   207     self assert:(ensureCalled).
       
   208 
       
   209     "
       
   210      self run:#test6_on_do_ensure
       
   211      self new test6_on_do_ensure
       
   212     "
   147 ! !
   213 ! !
   148 
   214 
   149 !ExceptionTest class methodsFor:'documentation'!
   215 !ExceptionTest class methodsFor:'documentation'!
   150 
   216 
   151 version
   217 version