mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-27 02:31:45 +02:00
Test for zlib de-compression
This commit is contained in:
@@ -3,12 +3,13 @@
|
|||||||
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import zlib
|
||||||
from . import BaseTest
|
|
||||||
from base64 import standard_b64encode
|
from base64 import standard_b64encode
|
||||||
|
|
||||||
from kitty.fast_data_types import parse_bytes
|
from kitty.fast_data_types import parse_bytes
|
||||||
|
|
||||||
|
from . import BaseTest
|
||||||
|
|
||||||
|
|
||||||
def img_path(name):
|
def img_path(name):
|
||||||
base = os.path.dirname(os.path.abspath(__file__))
|
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]
|
return res.decode('ascii').partition(';')[2].partition(':')[0].partition('\033')[0]
|
||||||
|
|
||||||
def sl(payload, **kw):
|
def sl(payload, **kw):
|
||||||
|
pc = kw.pop('payload_check', None)
|
||||||
if isinstance(payload, str):
|
if isinstance(payload, str):
|
||||||
payload = payload.encode('utf-8')
|
payload = payload.encode('utf-8')
|
||||||
cid = kw.setdefault('i', 1)
|
cid = kw.setdefault('i', 1)
|
||||||
self.ae('OK', l(payload, **kw))
|
self.ae('OK', l(payload, **kw))
|
||||||
img = g.image_for_client_id(cid)
|
img = g.image_for_client_id(cid)
|
||||||
self.ae(img['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:
|
if 's' in kw:
|
||||||
self.ae((kw['s'], kw['v']), (img['width'], img['height']))
|
self.ae((kw['s'], kw['v']), (img['width'], img['height']))
|
||||||
|
self.ae(img['is_4byte_aligned'], kw.get('f') != 24)
|
||||||
return img
|
return img
|
||||||
|
|
||||||
# Test simple load
|
# Test simple load
|
||||||
@@ -68,3 +71,7 @@ class TestGraphics(BaseTest):
|
|||||||
self.ae(l('mnop', m=0), 'OK')
|
self.ae(l('mnop', m=0), 'OK')
|
||||||
img = g.image_for_client_id(1)
|
img = g.image_for_client_id(1)
|
||||||
self.ae(img['data'], b'abcdefghijklmnop')
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user