Skip to content
This repository
branch: gnustep
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 79 lines (68 sloc) 2.751 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
;; test_exceptions.nu
;; tests for Nu exception handling.
;;
;; Copyright (c) 2007 Tim Burks, Neon Design Technology, Inc.

(class TestExceptions is NuTestCase
     
     (- (id) testRangeException is
        (set name nil)
        (set before nil)
        (set after nil)
        (set z nil)
        (try
            (set before "this should always be set")
            ((NSArray array) objectAtIndex:1)
            (set after "this should never be set")
            (catch (exception) (set name (exception name)))
            (finally (set z 99)))
        (assert_equal "this should always be set" before)
        (assert_equal nil after)
        (assert_equal "NSRangeException" name)
        (assert_equal 99 z))
     
     (- (id) testUserRaisedException is
        (set name nil)
        (set before nil)
        (set after nil)
        (set z nil)
        (try
            (set before "this should always be set")
            (((NSException alloc) initWithName:"UserException" reason:"" userInfo:nil) raise)
            (set after "this should never be set")
            (catch (exception) (set name (exception name)))
            (finally (set z 99)))
        (assert_equal "this should always be set" before)
        (assert_equal nil after)
        (assert_equal "UserException" name)
        (assert_equal 99 z))
     
     (if (eq (uname) "Darwin")
         (- (id) testUserThrownException is
            (set name nil)
            (set before nil)
            (set after nil)
            (set z nil)
            (try
                (set before "this should always be set")
                (throw ((NSException alloc) initWithName:"UserException" reason:"" userInfo:nil))
                (set after "this should never be set")
                (catch (exception) (set name (exception name)))
                (finally (set z 99)))
            (assert_equal "this should always be set" before)
            (assert_equal nil after)
            (assert_equal "UserException" name)
            (assert_equal 99 z))
         
         (- (id) testUserThrownObject is
            (set object nil)
            (set before nil)
            (set after nil)
            (set z nil)
            (try
                (set before "this should always be set")
                (throw 99)
                (catch (thrown) (set object thrown))
                (finally (set z 99)))
            (assert_equal "this should always be set" before)
            (assert_equal nil after)
            (assert_equal 99 object)
            (assert_equal 99 z))
         
         (- (id) testAssertThrown is
            (assert_throws "UserException"
                 (do () (throw ((NSException alloc) initWithName:"UserException" reason:"" userInfo:nil)))))))




Something went wrong with that request. Please try again.