Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 71 lines (52 sloc) 2 KB
# 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))