tests/extmod: Add test for ujson.dump writing to a user IOBase object.
This commit is contained in:
parent
0ecce77c66
commit
48829cd3c6
|
@ -0,0 +1,32 @@
|
|||
# test ujson.dump in combination with uio.IOBase
|
||||
|
||||
try:
|
||||
import uio as io
|
||||
import ujson as json
|
||||
except ImportError:
|
||||
try:
|
||||
import io, json
|
||||
except ImportError:
|
||||
print('SKIP')
|
||||
raise SystemExit
|
||||
|
||||
if not hasattr(io, 'IOBase'):
|
||||
print('SKIP')
|
||||
raise SystemExit
|
||||
|
||||
|
||||
# a user stream that only has the write method
|
||||
class S(io.IOBase):
|
||||
def __init__(self):
|
||||
self.buf = ''
|
||||
def write(self, buf):
|
||||
if type(buf) == bytearray:
|
||||
# uPy passes a bytearray, CPython passes a str
|
||||
buf = str(buf, 'ascii')
|
||||
self.buf += buf
|
||||
|
||||
|
||||
# dump to the user stream
|
||||
s = S()
|
||||
json.dump([123, {}], s)
|
||||
print(s.buf)
|
Loading…
Reference in New Issue