Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.122
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
lib /
python3.10 /
test /
test_json /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-sr-x
2025-06-04 09:23
__init__.py
2.14
KB
-rw-r--r--
2025-06-04 09:23
__main__.py
71
B
-rw-r--r--
2025-06-04 09:23
test_decode.py
4.39
KB
-rw-r--r--
2025-06-04 09:23
test_default.py
605
B
-rw-r--r--
2025-06-04 09:23
test_dump.py
2.35
KB
-rw-r--r--
2025-06-04 09:23
test_encode_basestring_ascii.py
2.21
KB
-rw-r--r--
2025-06-04 09:23
test_enum.py
3.94
KB
-rw-r--r--
2025-06-04 09:23
test_fail.py
8.86
KB
-rw-r--r--
2025-06-04 09:23
test_float.py
1.18
KB
-rw-r--r--
2025-06-04 09:23
test_indent.py
1.78
KB
-rw-r--r--
2025-06-04 09:23
test_pass1.py
1.79
KB
-rw-r--r--
2025-06-04 09:23
test_pass2.py
449
B
-rw-r--r--
2025-06-04 09:23
test_pass3.py
545
B
-rw-r--r--
2025-06-04 09:23
test_recursion.py
3.27
KB
-rw-r--r--
2025-06-04 09:23
test_scanstring.py
4.55
KB
-rw-r--r--
2025-06-04 09:23
test_separators.py
1.29
KB
-rw-r--r--
2025-06-04 09:23
test_speedups.py
3.25
KB
-rw-r--r--
2025-06-04 09:23
test_tool.py
7.34
KB
-rw-r--r--
2025-06-04 09:23
test_unicode.py
4.04
KB
-rw-r--r--
2025-06-04 09:23
Save
Rename
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