Test for zlib de-compression

This commit is contained in:
Kovid Goyal 2017-09-28 13:20:48 +05:30
parent 558b208edd
commit d0d769f26b
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -3,12 +3,13 @@
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
import os
from . import BaseTest
import zlib
from base64 import standard_b64encode
from kitty.fast_data_types import parse_bytes
from . import BaseTest
def img_path(name):
base = os.path.dirname(os.path.abspath(__file__))
@ -44,15 +45,17 @@ class TestGraphics(BaseTest):
return res.decode('ascii').partition(';')[2].partition(':')[0].partition('\033')[0]
def sl(payload, **kw):
pc = kw.pop('payload_check', None)
if isinstance(payload, str):
payload = payload.encode('utf-8')
cid = kw.setdefault('i', 1)
self.ae('OK', l(payload, **kw))
img = g.image_for_client_id(cid)
self.ae(img['client_id'], cid)
self.ae(img['data'], payload)
self.ae(img['data'], payload if pc is None else pc)
if 's' in kw:
self.ae((kw['s'], kw['v']), (img['width'], img['height']))
self.ae(img['is_4byte_aligned'], kw.get('f') != 24)
return img
# Test simple load
@ -68,3 +71,7 @@ class TestGraphics(BaseTest):
self.ae(l('mnop', m=0), 'OK')
img = g.image_for_client_id(1)
self.ae(img['data'], b'abcdefghijklmnop')
# Test compression
random_data = os.urandom(3 * 1024)
sl(zlib.compress(random_data), s=24, v=32, o='z', payload_check=random_data)