Пример #1
0
 def test_incremental(self):
     r = b'{ "foo": "bar" }'
     ctx = _ffi.new('struct split_context *')
     for i in range(len(r) - 1):
         set_buffer(ctx, r[i:i + 1])
         error = _lib.json_split(ctx)
         self.assertEqual(error, ctx.error) == _lib.INCOMPLETE
         self.assertEqual(ctx.offset, 1)
     set_buffer(ctx, r[-1:])
     error = _lib.json_split(ctx)
     self.assertEqual(error, ctx.error) == 0
     self.assertEqual(ctx.offset, 1)
Пример #2
0
 def test_incremental(self):
     r = b'{ "foo": "bar" }'
     ctx = _ffi.new('struct split_context *')
     for i in range(len(r)-1):
         set_buffer(ctx, r[i:i+1])
         error = _lib.json_split(ctx)
         self.assertEqual(error, ctx.error) == _lib.INCOMPLETE
         self.assertEqual(ctx.offset, 1)
     set_buffer(ctx, r[-1:])
     error = _lib.json_split(ctx)
     self.assertEqual(error, ctx.error) == 0
     self.assertEqual(ctx.offset, 1)
Пример #3
0
def split_string(s):
    ctx = _ffi.new('struct split_context *')
    set_buffer(ctx, s)
    _lib.json_split(ctx)
    return ctx
Пример #4
0
def set_buffer(ctx, buf):
    global _keepalive  # See note in JsonRpcProtocol
    _keepalive = ctx.buf = _ffi.new('char[]', buf)
    ctx.buflen = len(buf)
    ctx.offset = 0
Пример #5
0
def split_string(s):
    ctx = _ffi.new('struct split_context *')
    set_buffer(ctx, s)
    _lib.json_split(ctx)
    return ctx
Пример #6
0
def set_buffer(ctx, buf):
    global _keepalive  # See note in JsonRpcProtocol
    _keepalive = ctx.buf = _ffi.new('char[]', buf)
    ctx.buflen = len(buf)
    ctx.offset = 0