diff --git a/src/libeis-handshake.c b/src/libeis-handshake.c index 9a72442..d2d33df 100644 --- a/src/libeis-handshake.c +++ b/src/libeis-handshake.c @@ -136,6 +136,7 @@ client_msg_finish(struct eis_handshake *setup) SEND_INTERFACE_VERSION(EIS_SCROLL, ei_scroll); SEND_INTERFACE_VERSION(EIS_KEYBOARD, ei_keyboard); SEND_INTERFACE_VERSION(EIS_TOUCHSCREEN, ei_touchscreen); + SEND_INTERFACE_VERSION(EIS_TEXT, ei_text); #undef SEND_INTERFACE_VERSION diff --git a/test/test_protocol.py b/test/test_protocol.py index 047bd33..60420b3 100644 --- a/test/test_protocol.py +++ b/test/test_protocol.py @@ -171,16 +171,18 @@ class Ei: self.send(setup.ContextType(EiHandshake.EiContextType.SENDER)) self.send(setup.Name("test client")) + requested_versions = {} + def on_interface_version(_, name, version): logger.debug(f"Interface {name} v{version}") - assert version <= self.interface_versions[name] + assert version <= requested_versions[name] self.interface_versions[name] = version self.handshake.connect("InterfaceVersion", on_interface_version) for iname in filter(lambda i: i != InterfaceName.EI_HANDSHAKE, InterfaceName): version = interface_versions.get(iname, VERSION_V(1)) - self.interface_versions[iname] = version + requested_versions[iname] = version self.send(setup.InterfaceVersion(iname, version)) self.send(setup.Finish()) @@ -419,6 +421,12 @@ class TestEiProtocol: assert ei.interface_versions[InterfaceName.EI_CALLBACK] == VERSION_V(1) + # Make sure we get all interfaces + for iname in filter( + lambda iname: iname != InterfaceName.EI_HANDSHAKE, InterfaceName + ): + assert iname in ei.interface_versions + # Right now all our versions are 1, so let's ensure that's true for name, version in ei.interface_versions.items(): print(name, version) @@ -445,6 +453,7 @@ class TestEiProtocol: # Right now all our EIS versions are 1, despite whatever we announce for name, version in ei.interface_versions.items(): + print(name, version) assert version == VERSION_V(1), f"For interface {name}" eis.terminate() @@ -573,6 +582,7 @@ class TestEiProtocol: InterfaceName.EI_TOUCHSCREEN, InterfaceName.EI_SCROLL, InterfaceName.EI_BUTTON, + InterfaceName.EI_TEXT, ]: ei.send( setup.InterfaceVersion(interface, VERSION_V(1)) @@ -614,6 +624,7 @@ class TestEiProtocol: InterfaceName.EI_SCROLL, InterfaceName.EI_KEYBOARD, InterfaceName.EI_TOUCHSCREEN, + InterfaceName.EI_TEXT, ) ] )