]>
Commit | Line | Data |
---|---|---|
4710c53d | 1 | \r |
2 | from test.test_support import run_unittest\r | |
3 | import unittest\r | |
4 | \r | |
5 | class ExceptionTestCase(unittest.TestCase):\r | |
6 | def test_try_except_else_finally(self):\r | |
7 | hit_except = False\r | |
8 | hit_else = False\r | |
9 | hit_finally = False\r | |
10 | \r | |
11 | try:\r | |
12 | raise Exception, 'nyaa!'\r | |
13 | except:\r | |
14 | hit_except = True\r | |
15 | else:\r | |
16 | hit_else = True\r | |
17 | finally:\r | |
18 | hit_finally = True\r | |
19 | \r | |
20 | self.assertTrue(hit_except)\r | |
21 | self.assertTrue(hit_finally)\r | |
22 | self.assertFalse(hit_else)\r | |
23 | \r | |
24 | def test_try_except_else_finally_no_exception(self):\r | |
25 | hit_except = False\r | |
26 | hit_else = False\r | |
27 | hit_finally = False\r | |
28 | \r | |
29 | try:\r | |
30 | pass\r | |
31 | except:\r | |
32 | hit_except = True\r | |
33 | else:\r | |
34 | hit_else = True\r | |
35 | finally:\r | |
36 | hit_finally = True\r | |
37 | \r | |
38 | self.assertFalse(hit_except)\r | |
39 | self.assertTrue(hit_finally)\r | |
40 | self.assertTrue(hit_else)\r | |
41 | \r | |
42 | def test_try_except_finally(self):\r | |
43 | hit_except = False\r | |
44 | hit_finally = False\r | |
45 | \r | |
46 | try:\r | |
47 | raise Exception, 'yarr!'\r | |
48 | except:\r | |
49 | hit_except = True\r | |
50 | finally:\r | |
51 | hit_finally = True\r | |
52 | \r | |
53 | self.assertTrue(hit_except)\r | |
54 | self.assertTrue(hit_finally)\r | |
55 | \r | |
56 | def test_try_except_finally_no_exception(self):\r | |
57 | hit_except = False\r | |
58 | hit_finally = False\r | |
59 | \r | |
60 | try:\r | |
61 | pass\r | |
62 | except:\r | |
63 | hit_except = True\r | |
64 | finally:\r | |
65 | hit_finally = True\r | |
66 | \r | |
67 | self.assertFalse(hit_except)\r | |
68 | self.assertTrue(hit_finally)\r | |
69 | \r | |
70 | def test_try_except(self):\r | |
71 | hit_except = False\r | |
72 | \r | |
73 | try:\r | |
74 | raise Exception, 'ahoy!'\r | |
75 | except:\r | |
76 | hit_except = True\r | |
77 | \r | |
78 | self.assertTrue(hit_except)\r | |
79 | \r | |
80 | def test_try_except_no_exception(self):\r | |
81 | hit_except = False\r | |
82 | \r | |
83 | try:\r | |
84 | pass\r | |
85 | except:\r | |
86 | hit_except = True\r | |
87 | \r | |
88 | self.assertFalse(hit_except)\r | |
89 | \r | |
90 | def test_try_except_else(self):\r | |
91 | hit_except = False\r | |
92 | hit_else = False\r | |
93 | \r | |
94 | try:\r | |
95 | raise Exception, 'foo!'\r | |
96 | except:\r | |
97 | hit_except = True\r | |
98 | else:\r | |
99 | hit_else = True\r | |
100 | \r | |
101 | self.assertFalse(hit_else)\r | |
102 | self.assertTrue(hit_except)\r | |
103 | \r | |
104 | def test_try_except_else_no_exception(self):\r | |
105 | hit_except = False\r | |
106 | hit_else = False\r | |
107 | \r | |
108 | try:\r | |
109 | pass\r | |
110 | except:\r | |
111 | hit_except = True\r | |
112 | else:\r | |
113 | hit_else = True\r | |
114 | \r | |
115 | self.assertFalse(hit_except)\r | |
116 | self.assertTrue(hit_else)\r | |
117 | \r | |
118 | def test_try_finally_no_exception(self):\r | |
119 | hit_finally = False\r | |
120 | \r | |
121 | try:\r | |
122 | pass\r | |
123 | finally:\r | |
124 | hit_finally = True\r | |
125 | \r | |
126 | self.assertTrue(hit_finally)\r | |
127 | \r | |
128 | def test_nested(self):\r | |
129 | hit_finally = False\r | |
130 | hit_inner_except = False\r | |
131 | hit_inner_finally = False\r | |
132 | \r | |
133 | try:\r | |
134 | try:\r | |
135 | raise Exception, 'inner exception'\r | |
136 | except:\r | |
137 | hit_inner_except = True\r | |
138 | finally:\r | |
139 | hit_inner_finally = True\r | |
140 | finally:\r | |
141 | hit_finally = True\r | |
142 | \r | |
143 | self.assertTrue(hit_inner_except)\r | |
144 | self.assertTrue(hit_inner_finally)\r | |
145 | self.assertTrue(hit_finally)\r | |
146 | \r | |
147 | def test_nested_else(self):\r | |
148 | hit_else = False\r | |
149 | hit_finally = False\r | |
150 | hit_except = False\r | |
151 | hit_inner_except = False\r | |
152 | hit_inner_else = False\r | |
153 | \r | |
154 | try:\r | |
155 | try:\r | |
156 | pass\r | |
157 | except:\r | |
158 | hit_inner_except = True\r | |
159 | else:\r | |
160 | hit_inner_else = True\r | |
161 | \r | |
162 | raise Exception, 'outer exception'\r | |
163 | except:\r | |
164 | hit_except = True\r | |
165 | else:\r | |
166 | hit_else = True\r | |
167 | finally:\r | |
168 | hit_finally = True\r | |
169 | \r | |
170 | self.assertFalse(hit_inner_except)\r | |
171 | self.assertTrue(hit_inner_else)\r | |
172 | self.assertFalse(hit_else)\r | |
173 | self.assertTrue(hit_finally)\r | |
174 | self.assertTrue(hit_except)\r | |
175 | \r | |
176 | def test_main():\r | |
177 | run_unittest(ExceptionTestCase)\r | |
178 | \r | |
179 | if __name__ == '__main__':\r | |
180 | test_main()\r |