Here's yet another question: How would you write unit tests for Ruby-X11 ? Here's a first idea: * send a bunch of requests * wait for errors * if there are errors, match the errors with the requests (using the request-id) But this covers only what the X11 server can tell you. Here's a second idea: * send a bunch of graphics requests that are non-trivial to encode and/or execute, but easy to verify with human assistance. * validate result manually at every run. But this doesn't cover input. Here's a third idea: * subscribe to all event types and automatically validate the fields you can; provide a mechanism so that the other fields can be verified manually. Now what isn't covered? Now, are those latter two important enough, or will the first catch 95% of errors? Keep in mind Ruby-X11 is a protocol codec and API, not the thing that actually draws on the screen... Waiting for your feedback. Thank you. matju