@@ -24,11 +24,9 @@ def yajl_start_array(self, ctx):
24
24
def yajl_end_array (self , ctx ):
25
25
pass
26
26
27
- class YajlPyTests (MockTestCase ):
27
+ class YajlParserTests (MockTestCase ):
28
28
'''
29
- Testing YAJL-PY interfaces/callbacks
30
-
31
- Description: Making sure yajl-py works with current installed yajl
29
+ Testing :class:`YajlParser` interfaces/callbacks
32
30
'''
33
31
def setUp (self ):
34
32
MockTestCase .setUp (self )
@@ -141,44 +139,10 @@ def test_raisesExceptionOnInvalidJson(self):
141
139
yajl .YajlError ,
142
140
parser .parse , invalid_json )
143
141
144
- def test_load_yajl_raisesOSErrorIfYajlNotFound (self ):
145
- self .mock ('yajl.cdll.LoadLibrary' , raises = OSError ('ABCD' ))
146
- e = None
147
- try :
148
- yajl .load_yajl ()
149
- except OSError , e :
150
- pass
151
- self .failUnless ('Yajl shared object cannot be found.' in str (e ))
152
-
153
- def test_get_yajl_version_correctlyParsesYajlVersion (self ):
154
- for major in [0 , 1 , 3 , 7 ]:
155
- for minor in [0 , 1 , 2 , 5 ]:
156
- for micro in [0 , 5 , 10 , 15 , 20 ]:
157
- yajl_version = major * 10000 + minor * 100 + micro
158
- self .mock ('yajl.yajl.yajl_version' , returns = yajl_version )
159
- self .failUnlessEqual (
160
- '%s.%s.%s' % (major , minor , micro ),
161
- yajl .get_yajl_version ())
162
-
163
- def test_check_yajl_version_warnsOnlyWhenMismatchedVersions (self ):
164
- import warnings
165
- self .mock ('warnings.warn' , [locals ()])
166
- self .mock ('yajl.__version__' , mock_obj = '1.1.1' )
167
- self .mock ('yajl.yajl_version' , mock_obj = '1.1.1' )
168
- self .failUnless (yajl .check_yajl_version ())
169
- self .assertSameTrace ('' )
170
- self .mock ('yajl.yajl_version' , mock_obj = '1.1.0' )
171
- self .failIf (yajl .check_yajl_version ())
172
- self .assertSameTrace (
173
- "Called warnings.warn("
174
- "'Using Yajl-Py v1.1.1 with Yajl v1.1.0. "
175
- "It is advised to use the same Yajl-Py and Yajl versions',"
176
- "<type 'exceptions.RuntimeWarning'>, stacklevel=3)"
177
- )
178
-
179
- def test_checkYajlPyAndYajlHaveSameVersion (self ):
180
- self .failUnless (yajl .check_yajl_version ())
181
-
142
+ class YajlGenTests (MockTestCase ):
143
+ '''
144
+ Testing :class:`YajlGen` works as expected
145
+ '''
182
146
def test_YajlGen_callsYajlGenFreeWhenDone (self ):
183
147
self .mock ('yajl.yajl_gen.byref' , tracker = None )
184
148
self .mock ('yajl.yajl.yajl_gen_alloc' )
@@ -248,3 +212,45 @@ def test_YajlGen_indentOUtput(self):
248
212
'**]\n '
249
213
'}\n ' ,
250
214
'' .join (results ))
215
+
216
+ class YajlCommonTests (MockTestCase ):
217
+ '''
218
+ Testing common functions and the loading libyajl
219
+ '''
220
+ def test_load_yajl_raisesOSErrorIfYajlNotFound (self ):
221
+ self .mock ('yajl.cdll.LoadLibrary' , raises = OSError ('ABCD' ))
222
+ e = None
223
+ try :
224
+ yajl .load_yajl ()
225
+ except OSError , e :
226
+ pass
227
+ self .failUnless ('Yajl shared object cannot be found.' in str (e ))
228
+
229
+ def test_get_yajl_version_correctlyParsesYajlVersion (self ):
230
+ for major in [0 , 1 , 3 , 7 ]:
231
+ for minor in [0 , 1 , 2 , 5 ]:
232
+ for micro in [0 , 5 , 10 , 15 , 20 ]:
233
+ yajl_version = major * 10000 + minor * 100 + micro
234
+ self .mock ('yajl.yajl.yajl_version' , returns = yajl_version )
235
+ self .failUnlessEqual (
236
+ '%s.%s.%s' % (major , minor , micro ),
237
+ yajl .get_yajl_version ())
238
+
239
+ def test_check_yajl_version_warnsOnlyWhenMismatchedVersions (self ):
240
+ import warnings
241
+ self .mock ('warnings.warn' , [locals ()])
242
+ self .mock ('yajl.__version__' , mock_obj = '1.1.1' )
243
+ self .mock ('yajl.yajl_version' , mock_obj = '1.1.1' )
244
+ self .failUnless (yajl .check_yajl_version ())
245
+ self .assertSameTrace ('' )
246
+ self .mock ('yajl.yajl_version' , mock_obj = '1.1.0' )
247
+ self .failIf (yajl .check_yajl_version ())
248
+ self .assertSameTrace (
249
+ "Called warnings.warn("
250
+ "'Using Yajl-Py v1.1.1 with Yajl v1.1.0. "
251
+ "It is advised to use the same Yajl-Py and Yajl versions',"
252
+ "<type 'exceptions.RuntimeWarning'>, stacklevel=3)"
253
+ )
254
+
255
+ def test_checkYajlPyAndYajlHaveSameVersion (self ):
256
+ self .failUnless (yajl .check_yajl_version ())
0 commit comments