????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.219.31.133 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/Python-3.6.3/Lib/test/test_json/ |
Upload File : |
import sys from test.test_json import PyTest, CTest class TestScanstring: def test_scanstring(self): scanstring = self.json.decoder.scanstring self.assertEqual( scanstring('"z\U0001d120x"', 1, True), ('z\U0001d120x', 5)) self.assertEqual( scanstring('"\\u007b"', 1, True), ('{', 8)) self.assertEqual( scanstring('"A JSON payload should be an object or array, not a string."', 1, True), ('A JSON payload should be an object or array, not a string.', 60)) self.assertEqual( scanstring('["Unclosed array"', 2, True), ('Unclosed array', 17)) self.assertEqual( scanstring('["extra comma",]', 2, True), ('extra comma', 14)) self.assertEqual( scanstring('["double extra comma",,]', 2, True), ('double extra comma', 21)) self.assertEqual( scanstring('["Comma after the close"],', 2, True), ('Comma after the close', 24)) self.assertEqual( scanstring('["Extra close"]]', 2, True), ('Extra close', 14)) self.assertEqual( scanstring('{"Extra comma": true,}', 2, True), ('Extra comma', 14)) self.assertEqual( scanstring('{"Extra value after close": true} "misplaced quoted value"', 2, True), ('Extra value after close', 26)) self.assertEqual( scanstring('{"Illegal expression": 1 + 2}', 2, True), ('Illegal expression', 21)) self.assertEqual( scanstring('{"Illegal invocation": alert()}', 2, True), ('Illegal invocation', 21)) self.assertEqual( scanstring('{"Numbers cannot have leading zeroes": 013}', 2, True), ('Numbers cannot have leading zeroes', 37)) self.assertEqual( scanstring('{"Numbers cannot be hex": 0x14}', 2, True), ('Numbers cannot be hex', 24)) self.assertEqual( scanstring('[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]', 21, True), ('Too deep', 30)) self.assertEqual( scanstring('{"Missing colon" null}', 2, True), ('Missing colon', 16)) self.assertEqual( scanstring('{"Double colon":: null}', 2, True), ('Double colon', 15)) self.assertEqual( scanstring('{"Comma instead of colon", null}', 2, True), ('Comma instead of colon', 25)) self.assertEqual( scanstring('["Colon instead of comma": false]', 2, True), ('Colon instead of comma', 25)) self.assertEqual( scanstring('["Bad value", truth]', 2, True), ('Bad value', 12)) def test_surrogates(self): scanstring = self.json.decoder.scanstring def assertScan(given, expect): self.assertEqual(scanstring(given, 1, True), (expect, len(given))) assertScan('"z\\ud834\\u0079x"', 'z\ud834yx') assertScan('"z\\ud834\\udd20x"', 'z\U0001d120x') assertScan('"z\\ud834\\ud834\\udd20x"', 'z\ud834\U0001d120x') assertScan('"z\\ud834x"', 'z\ud834x') assertScan('"z\\ud834\udd20x12345"', 'z\ud834\udd20x12345') assertScan('"z\\udd20x"', 'z\udd20x') assertScan('"z\ud834\udd20x"', 'z\ud834\udd20x') assertScan('"z\ud834\\udd20x"', 'z\ud834\udd20x') assertScan('"z\ud834x"', 'z\ud834x') def test_bad_escapes(self): scanstring = self.json.decoder.scanstring bad_escapes = [ '"\\"', '"\\x"', '"\\u"', '"\\u0"', '"\\u01"', '"\\u012"', '"\\uz012"', '"\\u0z12"', '"\\u01z2"', '"\\u012z"', '"\\u0x12"', '"\\u0X12"', '"\\ud834\\"', '"\\ud834\\u"', '"\\ud834\\ud"', '"\\ud834\\udd"', '"\\ud834\\udd2"', '"\\ud834\\uzdd2"', '"\\ud834\\udzd2"', '"\\ud834\\uddz2"', '"\\ud834\\udd2z"', '"\\ud834\\u0x20"', '"\\ud834\\u0X20"', ] for s in bad_escapes: with self.assertRaises(self.JSONDecodeError, msg=s): scanstring(s, 1, True) def test_overflow(self): with self.assertRaises(OverflowError): self.json.decoder.scanstring(b"xxx", sys.maxsize+1) class TestPyScanstring(TestScanstring, PyTest): pass class TestCScanstring(TestScanstring, CTest): pass