E50A python-xlib/test/test_requests_be.py at 0.25 · python-xlib/python-xlib · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
executable file
·
3936 lines (3154 loc) · 147 KB

File metadata and controls

executable file
·
3936 lines (3154 loc) · 147 KB
#!/usr/bin/env python2
import sys, os
sys.path.insert(0, os.path.normpath(os.path.join(__file__, '../..')))
import unittest
from Xlib.protocol import request, event
from . import BigEndianTest as EndianTest
from . import DummyDisplay
dummy_display = DummyDisplay()
class TestCreateWindow(EndianTest):
def setUp(self):
self.req_args_0 = {
'attrs': {'cursor': 64054583, 'override_redirect': 0, 'bit_gravity': 3, 'event_mask': 1268138548, 'border_pixel': 1592533117, 'background_pixel': 239147199, 'save_under': 0, 'colormap': 68318329, 'do_not_propagate_mask': 906135756, 'backing_store': 0, 'win_gravity': 2, 'backing_planes': 299720948, 'border_pixmap': 53775720, 'backing_pixel': 1581625428, 'background_pixmap': 1373224142},
'border_width': 13287,
'depth': 151,
'height': 37037,
'parent': 499701004,
'visual': 1395681732,
'wid': 469587013,
'width': 1995,
'window_class': 2,
'x': -16209,
'y': -13042,
}
self.req_bin_0 = b'\x01\x97\x00\x17' b'\x1b\xfd\x54\x45' \
b'\x1d\xc8\xd5\x0c' b'\xc0\xaf\xcd\x0e' \
b'\x07\xcb\x90\xad' b'\x33\xe7\x00\x02' \
b'\x53\x30\x69\xc4' b'\x00\x00\x7f\xff' \
b'\x51\xd9\xbc\xce' b'\x0e\x41\x18\xbf' \
b'\x03\x34\x8d\x68' b'\x5e\xec\x20\x7d' \
b'\x03\x00\x00\x00' b'\x02\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x11\xdd\x60\xf4' \
b'\x5e\x45\xb0\x54' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x4b\x96\x42\x34' \
b'\x36\x02\x88\xcc' b'\x04\x12\x74\x79' \
b'\x03\xd1\x65\x37'
def testPackRequest0(self):
bin = request.CreateWindow._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.CreateWindow._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestChangeWindowAttributes(EndianTest):
def setUp(self):
self.req_args_0 = {
'attrs': {'cursor': 596789700, 'override_redirect': 0, 'bit_gravity': 6, 'event_mask': 1499308477, 'border_pixel': 473458160, 'background_pixel': 1170318459, 'save_under': 0, 'colormap': 730747963, 'do_not_propagate_mask': 907623048, 'backing_store': 1, 'win_gravity': 8, 'backing_planes': 1738304197, 'border_pixmap': 900977490, 'backing_pixel': 1866873765, 'background_pixmap': 1506149446},
'window': 333955224,
}
self.req_bin_0 = b'\x02\x00\x00\x12' b'\x13\xe7\xc0\x98' \
b'\x00\x00\x7f\xff' b'\x59\xc6\x04\x46' \
b'\x45\xc1\xa4\x7b' b'\x35\xb3\xd3\x52' \
b'\x1c\x38\x65\xf0' b'\x06\x00\x00\x00' \
b'\x08\x00\x00\x00' b'\x01\x00\x00\x00' \
b'\x67\x9c\x6a\xc5' b'\x6f\x46\x3b\xa5' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x59\x5d\xa1\xbd' b'\x36\x19\x3a\x88' \
b'\x2b\x8e\x54\x3b' b'\x23\x92\x49\xc4'
def testPackRequest0(self):
bin = request.ChangeWindowAttributes._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.ChangeWindowAttributes._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestGetWindowAttributes(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 462448317,
}
self.req_bin_0 = b'\x03\x00\x00\x02' b'\x1b\x90\x66\xbd'
self.reply_args_0 = {
'all_event_masks': 1980679760,
'backing_bit_planes': 1820045833,
'backing_pixel': 738704824,
'backing_store': 214,
'bit_gravity': 152,
'colormap': 2089815718,
'do_not_propagate_mask': 5420,
'map_is_installed': 0,
'map_state': 245,
'override_redirect': 0,
'save_under': 1,
'sequence_number': 6954,
'visual': 199235720,
'win_class': 25154,
'win_gravity': 219,
'your_event_mask': 812961929,
}
self.reply_bin_0 = b'\x01\xd6\x1b\x2a' b'\x00\x00\x00\x03' \
b'\x0b\xe0\x18\x88' b'\x62\x42\x98\xdb' \
b'\x6c\x7b\xb2\x09' b'\x2c\x07\xbd\xb8' \
b'\x01\x00\xf5\x00' b'\x7c\x90\x0e\xa6' \
b'\x76\x0e\xc6\x50' b'\x30\x74\xd0\x89' \
b'\x15\x2c\x00\x00'
def testPackRequest0(self):
bin = request.GetWindowAttributes._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.GetWindowAttributes._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.GetWindowAttributes._reply.to_binary(*(), **self.reply_args_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.GetWindowAttributes._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
class TestDestroyWindow(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 1185563768,
}
self.req_bin_0 = b'\x04\x00\x00\x02' b'\x46\xaa\x44\x78'
def testPackRequest0(self):
bin = request.DestroyWindow._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.DestroyWindow._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestDestroySubWindows(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 629661088,
}
self.req_bin_0 = b'\x05\x00\x00\x02' b'\x25\x87\xdd\xa0'
def testPackRequest0(self):
bin = request.DestroySubWindows._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.DestroySubWindows._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestChangeSaveSet(EndianTest):
def setUp(self):
self.req_args_0 = {
'mode': 1,
'window': 1239919839,
}
self.req_bin_0 = b'\x06\x01\x00\x02' b'\x49\xe7\xac\xdf'
def testPackRequest0(self):
bin = request.ChangeSaveSet._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.ChangeSaveSet._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self 7022 .req_args_0)
class TestReparentWindow(EndianTest):
def setUp(self):
self.req_args_0 = {
'parent': 1513122040,
'window': 413002134,
'x': -30489,
'y': -31267,
}
self.req_bin_0 = b'\x07\x00\x00\x04' b'\x18\x9d\xe9\x96' \
b'\x5a\x30\x68\xf8' b'\x88\xe7\x85\xdd'
def testPackRequest0(self):
bin = request.ReparentWindow._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.ReparentWindow._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestMapWindow(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 1420117708,
}
self.req_bin_0 = b'\x08\x00\x00\x02' b'\x54\xa5\x46\xcc'
def testPackRequest0(self):
bin = request.MapWindow._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.MapWindow._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestMapSubwindows(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 489473351,
}
self.req_bin_0 = b'\x09\x00\x00\x02' b'\x1d\x2c\xc5\x47'
def testPackRequest0(self):
bin = request.MapSubwindows._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.MapSubwindows._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestUnmapWindow(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 1660217157,
}
self.req_bin_0 = b'\x0a\x00\x00\x02' b'\x62\xf4\xe7\x45'
def testPackRequest0(self):
bin = request.UnmapWindow._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.UnmapWindow._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestUnmapSubwindows(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 621521446,
}
self.req_bin_0 = b'\x0b\x00\x00\x02' b'\x25\x0b\xaa\x26'
def testPackRequest0(self):
bin = request.UnmapSubwindows._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.UnmapSubwindows._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestConfigureWindow(EndianTest):
def setUp(self):
self.req_args_0 = {
'attrs': {'width': 39387, 'stack_mode': 2, 'height': 57679, 'sibling': 973756745, 'y': -17512, 'x': -27539, 'border_width': -14551},
'window': 349362548,
}
self.req_bin_0 = b'\x0c\x00\x00\x0a' b'\x14\xd2\xd9\x74' \
b'\x00\x7f\x00\x00' b'\x94\x6d\x00\x00' \
b'\xbb\x98\x00\x00' b'\x99\xdb\x00\x00' \
b'\xe1\x4f\x00\x00' b'\xc7\x29\x00\x00' \
b'\x3a\x0a\x59\x49' b'\x02\x00\x00\x00'
def testPackRequest0(self):
bin = request.ConfigureWindow._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.ConfigureWindow._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestCirculateWindow(EndianTest):
def setUp(self):
self.req_args_0 = {
'direction': 1,
'window': 763003561,
}
self.req_bin_0 = b'\x0d\x01\x00\x02' b'\x2d\x7a\x82\xa9'
def testPackRequest0(self):
bin = request.CirculateWindow._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.CirculateWindow._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestGetGeometry(EndianTest):
def setUp(self):
self.req_args_0 = {
'drawable': 449978455,
}
self.req_bin_0 = b'\x0e\x00\x00\x02' b'\x1a\xd2\x20\x57'
self.reply_args_0 = {
'border_width': 41869,
'depth': 196,
'height': 40176,
'root': 2011515940,
'sequence_number': 46250,
'width': 4935,
'x': -10370,
'y': -11534,
}
self.reply_bin_0 = b'\x01\xc4\xb4\xaa' b'\x00\x00\x00\x00' \
b'\x77\xe5\x4c\x24' b'\xd7\x7e\xd2\xf2' \
b'\x13\x47\x9c\xf0' b'\xa3\x8d\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
def testPackRequest0(self):
bin = request.GetGeometry._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.GetGeometry._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.GetGeometry._reply.to_binary(*(), **self.reply_args_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.GetGeometry._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
class TestQueryTree(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 367582976,
}
self.req_bin_0 = b'\x0f\x00\x00\x02' b'\x15\xe8\xdf\x00'
self.reply_args_0 = {
'children': [1147122179, 1565853418, 525792997, 350969719, 992761785, 814939899, 579774073],
'parent': 1374454548,
'root': 1987327953,
'sequence_number': 65105,
}
self.reply_bin_0 = b'\x01\x00\xfe\x51' b'\x00\x00\x00\x07' \
b'\x76\x74\x37\xd1' b'\x51\xec\x83\x14' \
b'\x00\x07\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x44\x5f\xb2\x03' b'\x5d\x55\x06\xea' \
b'\x1f\x56\xf6\xe5' b'\x14\xeb\x5f\x77' \
b'\x3b\x2c\x57\xb9' b'\x30\x92\xfe\xfb' \
b'\x22\x8e\xa6\x79'
def testPackRequest0(self):
bin = request.QueryTree._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.QueryTree._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.QueryTree._reply.to_binary(*(), **self.reply_args_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.QueryTree._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
class TestInternAtom(EndianTest):
def setUp(self):
self.req_args_0 = {
'name': 'fuzzy_prop',
'only_if_exists': 0,
}
self.req_bin_0 = b'\x10\x00\x00\x05' b'\x00\x0a\x00\x00' \
b'\x66\x75\x7a\x7a' b'\x79\x5f\x70\x72' \
b'\x6f\x70\x00\x00'
self.reply_args_0 = {
'atom': 696457407,
'sequence_number': 45122,
}
self.reply_bin_0 = b'\x01\x00\xb0\x42' b'\x00\x00\x00\x00' \
b'\x29\x83\x18\xbf' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
def testPackRequest0(self):
bin = request.InternAtom._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.InternAtom._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.InternAtom._reply.to_binary(*(), **self.reply_args_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.InternAtom._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
class TestGetAtomName(EndianTest):
def setUp(self):
self.req_args_0 = {
'atom': 1810076242,
}
self.req_bin_0 = b'\x11\x00\x00\x02' b'\x6b\xe3\x92\x52'
self.reply_args_0 = {
'name': 'WM_CLASS',
'sequence_number': 50608,
}
self.reply_bin_0 = b'\x01\x00\xc5\xb0' b'\x00\x00\x00\x02' \
b'\x00\x08\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x57\x4d\x5f\x43' b'\x4c\x41\x53\x53'
def testPackRequest0(self):
bin = request.GetAtomName._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.GetAtomName._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.GetAtomName._reply.to_binary(*(), **self.reply_args_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.GetAtomName._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
class TestChangeProperty(EndianTest):
def setUp(self):
self.req_args_0 = {
'data': (8, b''),
'mode': 0,
'property': 1764873173,
'type': 69000273,
'window': 491942524,
}
self.req_bin_0 = b'\x12\x00\x00\x06' b'\x1d\x52\x72\x7c' \
b'\x69\x31\xd3\xd5' b'\x04\x1c\xdc\x51' \
b'\x08\x00\x00\x00' b'\x00\x00\x00\x00'
self.req_args_1 = {
'data': (8, b'foo'),
'mode': 1,
'property': 575034703,
'type': 142204480,
'window': 861560365,
}
self.req_bin_1 = b'\x12\x01\x00\x07' b'\x33\x5a\x5e\x2d' \
b'\x22\x46\x55\x4f' b'\x08\x79\xde\x40' \
b'\x08\x00\x00\x00' b'\x00\x00\x00\x03' \
b'\x66\x6f\x6f\x00'
self.req_args_2 = {
'data': (8, b'zoom'),
'mode': 0,
'property': 2024948722,
'type': 1218075423,
'window': 1961010416,
}
self.req_bin_2 = b'\x12\x00\x00\x07' b'\x74\xe2\xa4\xf0' \
b'\x78\xb2\x43\xf2' b'\x48\x9a\x5b\x1f' \
b'\x08\x00\x00\x00' b'\x00\x00\x00\x04' \
b'\x7a\x6f\x6f\x6d'
self.req_args_3 = {
'data': (16, []),
'mode': 2,
'property': 456677559,
'type': 1407609354,
'window': 675831147,
}
self.req_bin_3 = b'\x12\x02\x00\x06' b'\x28\x48\x5d\x6b' \
b'\x1b\x38\x58\xb7' b'\x53\xe6\x6a\x0a' \
b'\x10\x00\x00\x00' b'\x00\x00\x00\x00'
self.req_args_4 = {
'data': (16, [1, 2, 3]),
'mode': 1,
'property': 1899908134,
'type': 1964041522,
'window': 849678568,
}
self.req_bin_4 = b'\x12\x01\x00\x08' b'\x32\xa5\x10\xe8' \
b'\x71\x3e\x4c\x26' b'\x75\x10\xe5\x32' \
b'\x10\x00\x00\x00' b'\x00\x00\x00\x03' \
b'\x00\x01\x00\x02' b'\x00\x03\x00\x00'
self.req_args_5 = {
'data': (16, [1, 2, 3, 4]),
'mode': 2,
'property': 306879937,
'type': 568891375,
'window': 985442388,
}
self.req_bin_5 = b'\x12\x02\x00\x08' b'\x3a\xbc\xa8\x54' \
b'\x12\x4a\x9d\xc1' b'\x21\xe8\x97\xef' \
b'\x10\x00\x00\x00' b'\x00\x00\x00\x04' \
b'\x00\x01\x00\x02' b'\x00\x03\x00\x04'
self.req_args_6 = {
'data': (32, []),
'mode': 0,
'property': 1599917196,
'type': 1205594429,
'window': 529694076,
}
self.req_bin_6 = b'\x12\x00\x00\x06' b'\x1f\x92\x7d\x7c' \
b'\x5f\x5c\xcc\x8c' b'\x47\xdb\xe9\x3d' \
b'\x20\x00\x00\x00' b'\x00\x00\x00\x00'
self.req_args_7 = {
'data': (32, [1, 2, 3]),
'mode': 2,
'property': 1604265475,
'type': 1255454396,
'window': 564298846,
}
self.req_bin_7 = b'\x12\x02\x00\x09' b'\x21\xa2\x84\x5e' \
b'\x5f\x9f\x26\x03' b'\x4a\xd4\xb6\xbc' \
b'\x20\x00\x00\x00' b'\x00\x00\x00\x03' \
b'\x00\x00\x00\x01' b'\x00\x00\x00\x02' \
b'\x00\x00\x00\x03'
def testPackRequest0(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackRequest1(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_1)
self.assertBinaryEqual(bin, self.req_bin_1)
def testUnpackRequest1(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_1, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_1)
def testPackRequest2(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_2)
self.assertBinaryEqual(bin, self.req_bin_2)
def testUnpackRequest2(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_2, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_2)
def testPackRequest3(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_3)
self.assertBinaryEqual(bin, self.req_bin_3)
def testUnpackRequest3(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_3, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_3)
def testPackRequest4(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_4)
self.assertBinaryEqual(bin, self.req_bin_4)
def testUnpackRequest4(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_4, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_4)
def testPackRequest5(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_5)
self.assertBinaryEqual(bin, self.req_bin_5)
def testUnpackRequest5(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_5, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_5)
def testPackRequest6(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_6)
self.assertBinaryEqual(bin, self.req_bin_6)
def testUnpackRequest6(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_6, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_6)
def testPackRequest7(self):
bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_7)
self.assertBinaryEqual(bin, self.req_bin_7)
def testUnpackRequest7(self):
args, remain = request.ChangeProperty._request.parse_binary(self.req_bin_7, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_7)
class TestDeleteProperty(EndianTest):
def setUp(self):
self.req_args_0 = {
'property': 1928125498,
'window': 920120163,
}
self.req_bin_0 = b'\x13\x00\x00\x03' b'\x36\xd7\xeb\x63' \
b'\x72\xec\xdc\x3a'
def testPackRequest0(self):
bin = request.DeleteProperty._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.DeleteProperty._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestGetProperty(EndianTest):
def setUp(self):
self.req_args_0 = {
'delete': 1,
'long_length': 297130690,
'long_offset': 2142261240,
'property': 471053276,
'type': 2141806322,
'window': 777446987,
}
self.req_bin_0 = b'\x14\x01\x00\x06' b'\x2e\x56\xe6\x4b' \
b'\x1c\x13\xb3\xdc' b'\x7f\xa9\x5e\xf2' \
b'\x7f\xb0\x4f\xf8' b'\x11\xb5\xda\xc2'
self.reply_args_0 = {
'bytes_after': 195292012,
'property_type': 1059882735,
'sequence_number': 33648,
'value': (8, b''),
}
self.reply_bin_0 = b'\x01\x08\x83\x70' b'\x00\x00\x00\x00' \
b'\x3f\x2c\x86\xef' b'\x0b\xa3\xeb\x6c' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
self.reply_args_1 = {
'bytes_after': 1849269963,
'property_type': 101247178,
'sequence_number': 49786,
'value': (8, b'foo'),
}
self.reply_bin_1 = b'\x01\x08\xc2\x7a' b'\x00\x00\x00\x01' \
b'\x06\x08\xe8\xca' b'\x6e\x39\x9e\xcb' \
b'\x00\x00\x00\x03' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x66\x6f\x6f\x00'
self.reply_args_2 = {
'bytes_after': 1347495650,
'property_type': 328289775,
'sequence_number': 7441,
'value': (8, b'zoom'),
}
self.reply_bin_2 = b'\x01\x08\x1d\x11' b'\x00\x00\x00\x01' \
b'\x13\x91\x4d\xef' b'\x50\x51\x26\xe2' \
b'\x00\x00\x00\x04' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x7a\x6f\x6f\x6d'
self.reply_args_3 = {
'bytes_after': 1461387818,
'property_type': 1701043014,
'sequence_number': 10740,
'value': (16, []),
}
self.reply_bin_3 = b'\x01\x10\x29\xf4' b'\x00\x00\x00\x00' \
b'\x65\x63\xdb\x46' b'\x57\x1b\x02\x2a' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
self.reply_args_4 = {
'bytes_after': 136490248,
'property_type': 1280844186,
'sequence_number': 27922,
'value': (16, [1, 2, 3]),
}
self.reply_bin_4 = b'\x01\x10\x6d\x12' b'\x00\x00\x00\x02' \
b'\x4c\x58\x21\x9a' b'\x08\x22\xad\x08' \
b'\x00\x00\x00\x03' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x01\x00\x02' b'\x00\x03\x00\x00'
self.reply_args_5 = {
'bytes_after': 1279726180,
'property_type': 819586705,
'sequence_number': 25472,
'value': (16, [1, 2, 3, 4]),
}
self.reply_bin_5 = b'\x01\x10\x63\x80' b'\x00\x00\x00\x02' \
b'\x30\xd9\xe6\x91' b'\x4c\x47\x12\x64' \
b'\x00\x00\x00\x04' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x01\x00\x02' b'\x00\x03\x00\x04'
self.reply_args_6 = {
'bytes_after': 539973238,
'property_type': 1136329940,
'sequence_number': 30930,
'value': (32, []),
}
self.reply_bin_6 = b'\x01\x20\x78\xd2' b'\x00\x00\x00\x00' \
b'\x43\xbb\x04\xd4' b'\x20\x2f\x56\x76' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
self.reply_args_7 = {
'bytes_after': 1848575862,
'property_type': 1188109101,
'sequence_number': 63896,
'value': (32, [1, 2, 3]),
}
self.reply_bin_7 = b'\x01\x20\xf9\x98' b'\x00\x00\x00\x03' \
b'\x46\xd1\x1b\x2d' b'\x6e\x2f\x07\x76' \
b'\x00\x00\x00\x03' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x01' b'\x00\x00\x00\x02' \
b'\x00\x00\x00\x03'
def testPackRequest0(self):
bin = request.GetProperty._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.GetProperty._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
def testPackReply1(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_1)
self.assertBinaryEqual(bin, self.reply_bin_1)
def testUnpackReply1(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_1, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_1)
def testPackReply2(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_2)
self.assertBinaryEqual(bin, self.reply_bin_2)
def testUnpackReply2(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_2, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_2)
def testPackReply3(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_3)
self.assertBinaryEqual(bin, self.reply_bin_3)
def testUnpackReply3(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_3, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_3)
def testPackReply4(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_4)
self.assertBinaryEqual(bin, self.reply_bin_4)
def testUnpackReply4(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_4, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_4)
def testPackReply5(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_5)
self.assertBinaryEqual(bin, self.reply_bin_5)
def testUnpackReply5(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_5, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_5)
def testPackReply6(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_6)
self.assertBinaryEqual(bin, self.reply_bin_6)
def testUnpackReply6(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_6, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_6)
def testPackReply7(self):
bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_7)
self.assertBinaryEqual(bin, self.reply_bin_7)
def testUnpackReply7(self):
args, remain = request.GetProperty._reply.parse_binary(self.reply_bin_7, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_7)
class TestListProperties(EndianTest):
def setUp(self):
self.req_args_0 = {
'window': 2023920407,
}
self.req_bin_0 = b'\x15\x00\x00\x02' b'\x78\xa2\x93\x17'
self.reply_args_0 = {
'atoms': [24720840, 1460963027, 1547803868, 246063525, 1464027403, 1900134270, 1153200538, 1612563336, 573068260, 1650618737, 1376520521, 730586807, 239622004, 630352260, 933716813, 339706725, 974429777, 7034796, 2048369638, 1550746425, 1880945398, 1545568005, 565689201],
'sequence_number': 63949,
}
self.reply_bin_0 = b'\x01\x00\xf9\xcd' b'\x00\x00\x00\x17' \
b'\x00\x17\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x01\x79\x35\xc8' b'\x57\x14\x86\xd3' \
b'\x5c\x41\x9c\xdc' b'\x0e\xaa\xa1\xa5' \
b'\x57\x43\x49\x0b' b'\x71\x41\xbf\x7e' \
b'\x44\xbc\x71\x9a' b'\x60\x1d\xc3\x88' \
b'\x22\x28\x53\xe4' b'\x62\x62\x71\x71' \
b'\x52\x0c\x09\x49' b'\x2b\x8b\xde\xb7' \
b'\x0e\x48\x57\x74' b'\x25\x92\x69\x84' \
b'\x37\xa7\x63\x4d' b'\x14\x3f\x83\x65' \
b'\x3a\x14\x9e\x51' b'\x00\x6b\x57\xac' \
b'\x7a\x17\xa3\xe6' b'\x5c\x6e\x83\x39' \
b'\x70\x1c\xf2\xf6' b'\x5c\x1f\x7f\x05' \
b'\x21\xb7\xbb\x71'
def testPackRequest0(self):
bin = request.ListProperties._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.ListProperties._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.ListProperties._reply.to_binary(*(), **self.reply_args_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.ListProperties._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
class TestSetSelectionOwner(EndianTest):
def setUp(self):
self.req_args_0 = {
'selection': 1636366903,
'time': 383717530,
'window': 1075066031,
}
self.req_bin_0 = b'\x16\x00\x00\x04' b'\x40\x14\x34\xaf' \
b'\x61\x88\xfa\x37' b'\x16\xdf\x10\x9a'
def testPackRequest0(self):
bin = request.SetSelectionOwner._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.SetSelectionOwner._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestGetSelectionOwner(EndianTest):
def setUp(self):
self.req_args_0 = {
'selection': 1090303630,
}
self.req_bin_0 = b'\x17\x00\x00\x02' b'\x40\xfc\xb6\x8e'
self.reply_args_0 = {
'owner': 228581038,
'sequence_number': 60065,
}
self.reply_bin_0 = b'\x01\x00\xea\xa1' b'\x00\x00\x00\x00' \
b'\x0d\x9f\xde\xae' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
def testPackRequest0(self):
bin = request.GetSelectionOwner._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.GetSelectionOwner._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
def testPackReply0(self):
bin = request.GetSelectionOwner._reply.to_binary(*(), **self.reply_ar 57BB gs_0)
self.assertBinaryEqual(bin, self.reply_bin_0)
def testUnpackReply0(self):
args, remain = request.GetSelectionOwner._reply.parse_binary(self.reply_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.reply_args_0)
class TestConvertSelection(EndianTest):
def setUp(self):
self.req_args_0 = {
'property': 1807536699,
'requestor': 1869489931,
'selection': 1342887479,
'target': 640970836,
'time': 1372199123,
}
self.req_bin_0 = b'\x18\x00\x00\x06' b'\x6f\x6e\x27\x0b' \
b'\x50\x0a\xd6\x37' b'\x26\x34\x70\x54' \
b'\x6b\xbc\xd2\x3b' b'\x51\xca\x18\xd3'
def testPackRequest0(self):
bin = request.ConvertSelection._request.to_binary(*(), **self.req_args_0)
self.assertBinaryEqual(bin, self.req_bin_0)
def testUnpackRequest0(self):
args, remain = request.ConvertSelection._request.parse_binary(self.req_bin_0, dummy_display, 1)
self.assertBinaryEmpty(remain)
self.assertEqual(args, self.req_args_0)
class TestSendEvent(EndianTest):
def setUp(self):
self.req_args_0 = {
'destination': 1158373169,
'event': event.Expose(count=50227, height=24760, sequence_number=0, type=12, width=10272, window=1090263274, x=40165, y=13291),
'event_mask': 2047690655,
'propagate': 0,
}
0