1
- import unittest
1
+ from twisted . trial import unittest
2
2
from ometa .runtime import OMetaBase , ParseError , expected , eof
3
3
4
4
class RuntimeTests (unittest .TestCase ):
@@ -53,10 +53,9 @@ def test_exactlyFail(self):
53
53
54
54
data = "foo"
55
55
o = OMetaBase (data )
56
- with self .assertRaises (ParseError ) as e :
57
- o .rule_exactly ("g" )
58
- self .assertEquals (e .exception [1 ], expected (None , "g" ))
59
- self .assertEquals (e .exception [0 ], 0 )
56
+ exc = self .assertRaises (ParseError , o .rule_exactly , "g" )
57
+ self .assertEquals (exc [1 ], expected (None , "g" ))
58
+ self .assertEquals (exc [0 ], 0 )
60
59
61
60
62
61
@@ -83,10 +82,9 @@ def test_tokenFailed(self):
83
82
"""
84
83
data = "foozle"
85
84
o = OMetaBase (data )
86
- with self .assertRaises (ParseError ) as e :
87
- o .rule_token ("fog" )
88
- self .assertEqual (e .exception [0 ], 2 )
89
- self .assertEqual (e .exception [1 ], expected ("token" , "fog" ))
85
+ exc = self .assertRaises (ParseError , o .rule_token , "fog" )
86
+ self .assertEqual (exc [0 ], 2 )
87
+ self .assertEqual (exc [1 ], expected ("token" , "fog" ))
90
88
91
89
92
90
def test_many (self ):
@@ -135,12 +133,15 @@ def test_orSimpleFailure(self):
135
133
data = "foozle"
136
134
o = OMetaBase (data )
137
135
138
- with self .assertRaises (ParseError ) as e :
139
- o ._or ([lambda : o .token ("fog" ),
140
- lambda : o .token ("foozik" ),
141
- lambda : o .token ("woozle" )])
142
- self .assertEqual (e .exception [0 ], 4 )
143
- self .assertEqual (e .exception [1 ], expected ("token" , "foozik" ))
136
+ exc = self .assertRaises (
137
+ ParseError , o ._or , [
138
+ lambda : o .token ("fog" ),
139
+ lambda : o .token ("foozik" ),
140
+ lambda : o .token ("woozle" )
141
+ ]
142
+ )
143
+ self .assertEqual (exc [0 ], 4 )
144
+ self .assertEqual (exc [1 ], expected ("token" , "foozik" ))
144
145
145
146
146
147
def test_orFalseSuccess (self ):
@@ -183,10 +184,9 @@ def test_notError(self):
183
184
184
185
data = "xy"
185
186
o = OMetaBase (data )
186
- with self .assertRaises (ParseError ) as e :
187
- o ._not (lambda : o .exactly ("x" ))
188
- self .assertEqual (e .exception [0 ], 1 )
189
- self .assertEqual (e .exception [1 ], None )
187
+ exc = self .assertRaises (ParseError , o ._not , lambda : o .exactly ("x" ))
188
+ self .assertEqual (exc [0 ], 1 )
189
+ self .assertEqual (exc [1 ], None )
190
190
191
191
192
192
def test_spaces (self ):
@@ -216,9 +216,9 @@ def test_predFailure(self):
216
216
"""
217
217
218
218
o = OMetaBase ("" )
219
- with self .assertRaises (ParseError ) as e :
220
- o .pred ( lambda : (False , ParseError (o .input , 0 , None )))
221
- self .assertEqual (e . exception , ParseError (o .input , 0 , None ))
219
+ exc = self .assertRaises (
220
+ ParseError , o .pred , lambda : (False , ParseError (o .input , 0 , None )))
221
+ self .assertEqual (exc , ParseError (o .input , 0 , None ))
222
222
223
223
224
224
def test_end (self ):
@@ -227,9 +227,8 @@ def test_end(self):
227
227
if input is left.
228
228
"""
229
229
o = OMetaBase ("abc" )
230
- with self .assertRaises (ParseError ) as e :
231
- o .rule_end ()
232
- self .assertEqual (e .exception , ParseError (o .input , 1 , None ))
230
+ exc = self .assertRaises (ParseError , o .rule_end )
231
+ self .assertEqual (exc , ParseError (o .input , 1 , None ))
233
232
o .many (o .rule_anything )
234
233
self .assertEqual (o .rule_end (), (True , ParseError ("abc" , 3 , None )))
235
234
@@ -242,9 +241,9 @@ def test_label(self):
242
241
data = "ooops"
243
242
label = 'CustomLabel'
244
243
o = OMetaBase (data )
245
- with self .assertRaises (ParseError ) as e :
246
- o .label ( lambda : o .rule_exactly ('x' ), label )
247
- self .assertEqual (e . exception ,
244
+ exc = self .assertRaises (
245
+ ParseError , o .label , lambda : o .rule_exactly ('x' ), label )
246
+ self .assertEqual (exc ,
248
247
ParseError (o .input , 0 , expected (label )).withMessage ([("Custom Exception:" , label , None )]))
249
248
250
249
def test_letter (self ):
@@ -254,9 +253,8 @@ def test_letter(self):
254
253
o = OMetaBase ("a1" )
255
254
v , e = o .rule_letter ()
256
255
self .assertEqual ((v , e ), ("a" , ParseError (o .input , 0 , None )))
257
- with self .assertRaises (ParseError ) as e :
258
- o .rule_letter ()
259
- self .assertEqual (e .exception , ParseError (o .input , 1 ,
256
+ exc = self .assertRaises (ParseError , o .rule_letter )
257
+ self .assertEqual (exc , ParseError (o .input , 1 ,
260
258
expected ("letter" )))
261
259
262
260
@@ -269,9 +267,8 @@ def test_letterOrDigit(self):
269
267
self .assertEqual ((v , e ), ("a" , ParseError (None , 0 , None )))
270
268
v , e = o .rule_letterOrDigit ()
271
269
self .assertEqual ((v , e ), ("1" , ParseError (None , 1 , None )))
272
- with self .assertRaises (ParseError ) as e :
273
- o .rule_letterOrDigit ()
274
- self .assertEqual (e .exception ,
270
+ exc = self .assertRaises (ParseError , o .rule_letterOrDigit )
271
+ self .assertEqual (exc ,
275
272
ParseError (o .input , 2 , expected ("letter or digit" )))
276
273
277
274
@@ -282,9 +279,8 @@ def test_digit(self):
282
279
o = OMetaBase ("1a" )
283
280
v , e = o .rule_digit ()
284
281
self .assertEqual ((v , e ), ("1" , ParseError ("1a" , 0 , None )))
285
- with self .assertRaises (ParseError ) as e :
286
- o .rule_digit ()
287
- self .assertEqual (e .exception , ParseError (o .input , 1 , expected ("digit" )))
282
+ exc = self .assertRaises (ParseError , o .rule_digit )
283
+ self .assertEqual (exc , ParseError (o .input , 1 , expected ("digit" )))
288
284
289
285
290
286
0 commit comments