Esempio n. 1
0
 def test_tuple_array_dump(self):
     t = (1, 2, 3)
     expect = json.dumpsJSON(list(t))
     # Default is True
     sio = StringIO()
     json.dumpJSON(t, sio)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dumpJSON(t, sio, tuple_as_array=True)
     self.assertEqual(expect, sio.getvalue())
     self.assertRaises(TypeError,
                       json.dumpJSON,
                       t,
                       StringIO(),
                       tuple_as_array=False)
     # Ensure that the "default" does not get called
     sio = StringIO()
     json.dumpJSON(t, sio, default=repr)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dumpJSON(t, sio, tuple_as_array=True, default=repr)
     self.assertEqual(expect, sio.getvalue())
     # Ensure that the "default" gets called
     sio = StringIO()
     json.dumpJSON(t, sio, tuple_as_array=False, default=repr)
     self.assertEqual(json.dumpsJSON(repr(t)), sio.getvalue())
Esempio n. 2
0
        def check(indent, expected):
            d1 = json.dumpsJSON(h, indent=indent)
            self.assertEqual(d1, expected)

            sio = StringIO()
            json.dumpJSON(h, sio, indent=indent)
            self.assertEqual(sio.getvalue(), expected)
Esempio n. 3
0
def gen_json(obj, outfile, format):
    if format == 'json':
        hjson.dumpJSON(obj,
                       outfile,
                       ensure_ascii=False,
                       use_decimal=True,
                       indent='  ',
                       for_json=True)
    elif format == 'compact':
        hjson.dumpJSON(obj,
                       outfile,
                       ensure_ascii=False,
                       for_json=True,
                       use_decimal=True,
                       separators=(',', ':'))
    elif format == 'hjson':
        hjson.dump(obj,
                   outfile,
                   ensure_ascii=False,
                   for_json=True,
                   use_decimal=True)
    else:
        raise ValueError('Invalid JSON format ' + format)

    return 0
Esempio n. 4
0
        def check(indent, expected):
            d1 = json.dumpsJSON(h, indent=indent)
            self.assertEqual(d1, expected)

            sio = StringIO()
            json.dumpJSON(h, sio, indent=indent)
            self.assertEqual(sio.getvalue(), expected)
Esempio n. 5
0
 def test_tuple_array_dump(self):
     t = (1, 2, 3)
     expect = json.dumpsJSON(list(t))
     # Default is True
     sio = StringIO()
     json.dumpJSON(t, sio)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dumpJSON(t, sio, tuple_as_array=True)
     self.assertEqual(expect, sio.getvalue())
     self.assertRaises(TypeError, json.dumpJSON, t, StringIO(),
                       tuple_as_array=False)
     # Ensure that the "default" does not get called
     sio = StringIO()
     json.dumpJSON(t, sio, default=repr)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dumpJSON(t, sio, tuple_as_array=True, default=repr)
     self.assertEqual(expect, sio.getvalue())
     # Ensure that the "default" gets called
     sio = StringIO()
     json.dumpJSON(t, sio, tuple_as_array=False, default=repr)
     self.assertEqual(
         json.dumpsJSON(repr(t)),
         sio.getvalue())
Esempio n. 6
0
 def test_sort_keys(self):
     # https://github.com/simplejson/simplejson/issues/106
     for num_keys in range(2, 32):
         p = {str(x): x for x in range(num_keys)}
         sio = StringIO()
         json.dumpJSON(p, sio, sort_keys=True)
         self.assertEqual(sio.getvalue(), json.dumpsJSON(p, sort_keys=True))
         self.assertEqual(json.loads(sio.getvalue()), p)
Esempio n. 7
0
 def test_sort_keys(self):
     # https://github.com/simplejson/simplejson/issues/106
     for num_keys in range(2, 32):
         p = dict((str(x), x) for x in range(num_keys))
         sio = StringIO()
         json.dumpJSON(p, sio, sort_keys=True)
         self.assertEqual(sio.getvalue(), json.dumpsJSON(p, sort_keys=True))
         self.assertEqual(json.loads(sio.getvalue()), p)
Esempio n. 8
0
 def test_asdict_not_callable_dump(self):
     for f in CONSTRUCTORS:
         self.assertRaises(TypeError,
             json.dumpJSON, f(DeadDuck()), StringIO(), namedtuple_as_object=True)
         sio = StringIO()
         json.dumpJSON(f(DeadDict()), sio, namedtuple_as_object=True)
         self.assertEqual(
             json.dumpsJSON(f({})),
             sio.getvalue())
 def test_asdict_not_callable_dump(self):
     for f in CONSTRUCTORS:
         self.assertRaises(TypeError,
                           json.dumpJSON,
                           f(DeadDuck()),
                           StringIO(),
                           namedtuple_as_object=True)
         sio = StringIO()
         json.dumpJSON(f(DeadDict()), sio, namedtuple_as_object=True)
         self.assertEqual(json.dumpsJSON(f({})), sio.getvalue())
Esempio n. 10
0
 def test_namedtuple_dump_false(self):
     for v in [Value(1), Point(1, 2)]:
         l = list(v)
         sio = StringIO()
         json.dumpJSON(v, sio, namedtuple_as_object=False)
         self.assertEqual(
             l,
             json.loads(sio.getvalue()))
         self.assertRaises(TypeError, json.dumpJSON, v, StringIO(),
             tuple_as_array=False, namedtuple_as_object=False)
Esempio n. 11
0
def main():
    fmt = "hjson"
    args = []
    for arg in sys.argv[1:]:
        if arg == "-h" or arg == "--help":
            showerr(HELP)
            return
        elif arg == "-j":
            fmt = "json"
        elif arg == "-c":
            fmt = "compact"
        elif arg == "-V" or arg == "--version":
            showerr("Hjson " + hjson.__version__)
            return

        elif arg[0] == "-":
            showerr(HELP)
            raise SystemExit("unknown option " + arg)
        else:
            args.append(arg)

    outfile = sys.stdout
    if len(args) == 0:
        infile = sys.stdin
    elif len(args) == 1:
        infile = open(args[0], "r")
    else:
        showerr(HELP)
        raise SystemExit("unknown options")

    with infile:
        try:
            obj = hjson.load(infile, use_decimal=True)
        except ValueError:
            raise SystemExit(sys.exc_info()[1])

    with outfile:
        if fmt == "json":
            hjson.dumpJSON(obj,
                           outfile,
                           ensure_ascii=False,
                           use_decimal=True,
                           indent="  ")
        elif fmt == "compact":
            hjson.dumpJSON(
                obj,
                outfile,
                ensure_ascii=False,
                use_decimal=True,
                separators=(",", ":"),
            )
        else:
            hjson.dump(obj, outfile, ensure_ascii=False, use_decimal=True)

        outfile.write("\n")
 def test_namedtuple_dump_false(self):
     for v in [Value(1), Point(1, 2)]:
         l = list(v)
         sio = StringIO()
         json.dumpJSON(v, sio, namedtuple_as_object=False)
         self.assertEqual(l, json.loads(sio.getvalue()))
         self.assertRaises(TypeError,
                           json.dumpJSON,
                           v,
                           StringIO(),
                           tuple_as_array=False,
                           namedtuple_as_object=False)
 def test_decimal_defaults(self):
     d = Decimal('1.1')
     # use_decimal=True is the default
     self.assertRaises(TypeError, json.dumpsJSON, d, use_decimal=False)
     self.assertEqual('1.1', json.dumpsJSON(d))
     self.assertEqual('1.1', json.dumpsJSON(d, use_decimal=True))
     self.assertRaises(TypeError, json.dumpJSON, d, StringIO(),
                       use_decimal=False)
     sio = StringIO()
     json.dumpJSON(d, sio)
     self.assertEqual('1.1', sio.getvalue())
     sio = StringIO()
     json.dumpJSON(d, sio, use_decimal=True)
     self.assertEqual('1.1', sio.getvalue())
Esempio n. 14
0
def main():
    format = 'hjson'
    args = []
    for arg in sys.argv[1:]:
        if arg == '-h' or arg == '--help':
            showerr(HELP)
            return
        elif arg == '-j':
            format = 'json'
        elif arg == '-c':
            format = 'compact'
        elif arg == '-V' or arg == '--version':
            showerr('Hjson ' + pkg_resources.require("Hjson")[0].version)
            return

        elif arg[0] == '-':
            showerr(HELP)
            raise SystemExit('unknown option ' + arg)
        else:
            args.append(arg)

    outfile = sys.stdout
    if len(args) == 0:
        infile = sys.stdin
    elif len(args) == 1:
        infile = open(args[0], 'r')
    else:
        showerr(HELP)
        raise SystemExit('unknown options')

    with infile:
        try:
            obj = hjson.load(infile, use_decimal=True)
        except ValueError:
            raise SystemExit(sys.exc_info()[1])

    with outfile:
        if format == 'json':
            hjson.dumpJSON(obj, outfile, use_decimal=True, indent='  ')
        elif format == 'compact':
            hjson.dumpJSON(obj,
                           outfile,
                           use_decimal=True,
                           separators=(',', ':'))
        else:
            hjson.dump(obj, outfile, use_decimal=True)

        outfile.write('\n')
 def test_decimal_defaults(self):
     d = Decimal('1.1')
     # use_decimal=True is the default
     self.assertRaises(TypeError, json.dumpsJSON, d, use_decimal=False)
     self.assertEqual('1.1', json.dumpsJSON(d))
     self.assertEqual('1.1', json.dumpsJSON(d, use_decimal=True))
     self.assertRaises(TypeError,
                       json.dumpJSON,
                       d,
                       StringIO(),
                       use_decimal=False)
     sio = StringIO()
     json.dumpJSON(d, sio)
     self.assertEqual('1.1', sio.getvalue())
     sio = StringIO()
     json.dumpJSON(d, sio, use_decimal=True)
     self.assertEqual('1.1', sio.getvalue())
Esempio n. 16
0
def main():
    format = 'hjson'
    args = []
    for arg in sys.argv[1:]:
        if arg == '-h' or arg == '--help':
            showerr(HELP)
            return
        elif arg == '-j': format = 'json'
        elif arg == '-c': format = 'compact'
        elif arg == '-V' or arg == '--version':
            showerr('Hjson ' + pkg_resources.require("Hjson")[0].version)
            return

        elif arg[0] == '-':
            showerr(HELP)
            raise SystemExit('unknown option ' + arg)
        else:
            args.append(arg)

    outfile = sys.stdout
    if len(args) == 0:
        infile = sys.stdin
    elif len(args) == 1:
        infile = open(args[0], 'r')
    else:
        showerr(HELP)
        raise SystemExit('unknown options')

    with infile:
        try:
            obj = hjson.load(infile, use_decimal=True)
        except ValueError:
            raise SystemExit(sys.exc_info()[1])

    with outfile:
        if format == 'json':
            hjson.dumpJSON(obj, outfile, use_decimal=True, indent='  ')
        elif format == 'compact':
            hjson.dumpJSON(obj, outfile, use_decimal=True, separators=(',', ':'))
        else:
            hjson.dump(obj, outfile, use_decimal=True)

        outfile.write('\n')
Esempio n. 17
0
def main():
    todo = "-h"
    args = []
    for arg in sys.argv[1:]:
        if arg[0] == '-':
            todo = arg
        else:
            args.append(arg)

    if len(args) == 0:
        infile = sys.stdin
        outfile = sys.stdout
    elif len(args) == 1:
        infile = open(args[0], 'r')
        outfile = sys.stdout
    elif len(args) == 2:
        infile = open(args[0], 'r')
        outfile = open(args[1], 'w')
    else:
        raise SystemExit(sys.argv[0] + " {-h|-j|-c} [infile [outfile]]")

    with infile:
        try:
            obj = hjson.load(infile, use_decimal=True)
        except ValueError:
            raise SystemExit(sys.exc_info()[1])

    with outfile:
        if todo == '-j':
            hjson.dumpJSON(obj, outfile, use_decimal=True, indent="  ")
        elif todo == '-c':
            hjson.dumpJSON(obj,
                           outfile,
                           use_decimal=True,
                           separators=(',', ':'))
        else:
            hjson.dump(obj, outfile, use_decimal=True)

        outfile.write('\n')
Esempio n. 18
0
def main():
    todo = "-h"
    args = []
    for arg in sys.argv[1:]:
        if arg[0] == '-':
            todo = arg
        else:
            args.append(arg)

    if len(args) == 0:
        infile = sys.stdin
        outfile = sys.stdout
    elif len(args) == 1:
        infile = open(args[0], 'r')
        outfile = sys.stdout
    elif len(args) == 2:
        infile = open(args[0], 'r')
        outfile = open(args[1], 'w')
    else:
        raise SystemExit(sys.argv[0] + " {-h|-j|-c} [infile [outfile]]")

    with infile:
        try:
            obj = hjson.load(infile, use_decimal=True)
        except ValueError:
            raise SystemExit(sys.exc_info()[1])

    with outfile:
        if todo == '-j':
            hjson.dumpJSON(obj, outfile, use_decimal=True, indent="  ")
        elif todo == '-c':
            hjson.dumpJSON(obj, outfile, use_decimal=True, separators=(',', ':'))
        else:
            hjson.dump(obj, outfile, use_decimal=True)

        outfile.write('\n')
 def test_namedtuple_dump(self):
     for v in [Value(1), Point(1, 2), DuckValue(1), DuckPoint(1, 2)]:
         d = v._asdict()
         sio = StringIO()
         json.dumpJSON(v, sio)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dumpJSON(v, sio, namedtuple_as_object=True)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dumpJSON(v, sio, tuple_as_array=False)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dumpJSON(v,
                       sio,
                       namedtuple_as_object=True,
                       tuple_as_array=False)
         self.assertEqual(d, json.loads(sio.getvalue()))
Esempio n. 20
0
 def test_namedtuple_dump(self):
     for v in [Value(1), Point(1, 2), DuckValue(1), DuckPoint(1, 2)]:
         d = v._asdict()
         sio = StringIO()
         json.dumpJSON(v, sio)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dumpJSON(v, sio, namedtuple_as_object=True)
         self.assertEqual(
             d,
             json.loads(sio.getvalue()))
         sio = StringIO()
         json.dumpJSON(v, sio, tuple_as_array=False)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dumpJSON(v, sio, namedtuple_as_object=True,
                   tuple_as_array=False)
         self.assertEqual(
             d,
             json.loads(sio.getvalue()))
 def dumps(self, obj, **kw):
     sio = StringIO()
     json.dumpJSON(obj, sio, **kw)
     res = json.dumpsJSON(obj, **kw)
     self.assertEqual(res, sio.getvalue())
     return res
Esempio n. 22
0
 def test_dump(self):
     sio = StringIO()
     json.dumpJSON({}, sio)
     self.assertEqual(sio.getvalue(), '{}')
Esempio n. 23
0
 def test_dump(self):
     sio = StringIO()
     json.dumpJSON({}, sio)
     self.assertEqual(sio.getvalue(), "{}")
 def dumps(self, obj, **kw):
     sio = StringIO()
     json.dumpJSON(obj, sio, **kw)
     res = json.dumpsJSON(obj, **kw)
     self.assertEqual(res, sio.getvalue())
     return res