Update to 2.7.3
[profile/ivi/python.git] / Lib / json / tests / test_scanstring.py
index bf3ccd5..4fef8cb 100644 (file)
@@ -1,18 +1,10 @@
 import sys
-import decimal
-from unittest import TestCase
+from json.tests import PyTest, CTest
 
-import json
-import json.decoder
 
-class TestScanString(TestCase):
-    def test_py_scanstring(self):
-        self._test_scanstring(json.decoder.py_scanstring)
-
-    def test_c_scanstring(self):
-        self._test_scanstring(json.decoder.c_scanstring)
-
-    def _test_scanstring(self, scanstring):
+class TestScanstring(object):
+    def test_scanstring(self):
+        scanstring = self.json.decoder.scanstring
         self.assertEqual(
             scanstring('"z\\ud834\\udd20x"', 1, None, True),
             (u'z\U0001d120x', 16))
@@ -103,10 +95,15 @@ class TestScanString(TestCase):
             (u'Bad value', 12))
 
     def test_issue3623(self):
-        self.assertRaises(ValueError, json.decoder.scanstring, b"xxx", 1,
+        self.assertRaises(ValueError, self.json.decoder.scanstring, b"xxx", 1,
                           "xxx")
         self.assertRaises(UnicodeDecodeError,
-                          json.encoder.encode_basestring_ascii, b"xx\xff")
+                          self.json.encoder.encode_basestring_ascii, b"xx\xff")
 
     def test_overflow(self):
-        self.assertRaises(OverflowError, json.decoder.scanstring, b"xxx", sys.maxsize+1)
+        with self.assertRaises(OverflowError):
+            self.json.decoder.scanstring(b"xxx", sys.maxsize+1)
+
+
+class TestPyScanstring(TestScanstring, PyTest): pass
+class TestCScanstring(TestScanstring, CTest): pass