File: test.py

package info (click to toggle)
libjsonparser 1.1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,012 kB
  • sloc: ansic: 1,139; python: 68; makefile: 62; sh: 15
file content (70 lines) | stat: -rwxr-xr-x 2,048 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

# See bindings/python for the python jsonparser module

import jsonparser
import json
import glob

passed = "\033[92mPassed\033[0m"
failed = "\033[91mFailed\033[0m"

# Strict JSON tests
#
for i, test in enumerate(
        map(lambda file: open(file).read(), sorted(glob.glob('valid*.json')))):

    try:
        jsonparser.decode(test)
    except jsonparser.JSONException as error:
        print ('valid/%d : Failed with error: %s' % (i, error))
        continue

    py_decoded = json.loads(test)
    py_reencoded = json.dumps(py_decoded)

    try:
        reencoded = jsonparser.decode(py_reencoded)
    except jsonparser.JSONException as error:
        print ('valid/%d : Failed on re-encoded version with error: %s' % (i, error))
        continue

    if reencoded != py_decoded:
        print ('valid/%d : %s:\n\n%s\n\nbecame\n\n%s\n' % (i, failed, test, reencoded))
    else:
        print ('valid/%d : %s' % (i, passed))

for i, test in enumerate(
        map(lambda file: open(file).read(), sorted(glob.glob('invalid*.json')))):

    try:
        jsonparser.decode(test)
    except jsonparser.JSONException as error:
        print ('invalid/%d : %s: %s' % (i, passed, error))
        continue

    print ('invalid/%d : %s (parsing succeeded and shouldn\'t have)' % (i, failed))


# Extension tests
#
for i, test in enumerate(
        map(lambda file: open(file).read(), sorted(glob.glob('ext-valid*.json')))):

    try:
        decoded = jsonparser.decode(test)
        print ('ext-valid/%d : %s: %s' % (i, passed, json.dumps(decoded)))
    except jsonparser.JSONException as error:
        print ('ext-valid/%d : Failed with error: %s' % (i, error))
        continue

for i, test in enumerate(
        map(lambda file: open(file).read(), sorted(glob.glob('ext-invalid*.json')))):

    try:
        jsonparser.decode(test)
    except jsonparser.JSONException as error:
        print ('ext-invalid/%d : %s: %s' % (i, passed, error))
        continue

    print ('ext-invalid/%d : %s (parsing succeeded and shouldn\'t have)' % (i, failed))