summaryrefslogtreecommitdiffstats
path: root/pyload/lib/simplejson/tests/test_speedups.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/lib/simplejson/tests/test_speedups.py')
-rw-r--r--pyload/lib/simplejson/tests/test_speedups.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/pyload/lib/simplejson/tests/test_speedups.py b/pyload/lib/simplejson/tests/test_speedups.py
new file mode 100644
index 000000000..0a2b63bff
--- /dev/null
+++ b/pyload/lib/simplejson/tests/test_speedups.py
@@ -0,0 +1,39 @@
+import sys
+import unittest
+from unittest import TestCase
+
+from simplejson import encoder, scanner
+
+
+def has_speedups():
+ return encoder.c_make_encoder is not None
+
+
+def skip_if_speedups_missing(func):
+ def wrapper(*args, **kwargs):
+ if not has_speedups():
+ if hasattr(unittest, 'SkipTest'):
+ raise unittest.SkipTest("C Extension not available")
+ else:
+ sys.stdout.write("C Extension not available")
+ return
+ return func(*args, **kwargs)
+
+ return wrapper
+
+
+class TestDecode(TestCase):
+ @skip_if_speedups_missing
+ def test_make_scanner(self):
+ self.assertRaises(AttributeError, scanner.c_make_scanner, 1)
+
+ @skip_if_speedups_missing
+ def test_make_encoder(self):
+ self.assertRaises(
+ TypeError,
+ encoder.c_make_encoder,
+ None,
+ ("\xCD\x7D\x3D\x4E\x12\x4C\xF9\x79\xD7"
+ "\x52\xBA\x82\xF2\x27\x4A\x7D\xA0\xCA\x75"),
+ None
+ )