From b2afde6f184dfe1c3cca656dc1f9862a45bfa24d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 5 Mar 2012 21:53:38 -0500 Subject: [PATCH] tests: Add more marshal tests --- tests/connection-test.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/connection-test.c b/tests/connection-test.c index 59158570..b45532fb 100644 --- a/tests/connection-test.c +++ b/tests/connection-test.c @@ -177,6 +177,9 @@ marshal(struct marshal_data *data, const char *format, int size, ...) TEST(connection_marshal) { struct marshal_data data; + struct wl_object object; + struct wl_array array; + static const char text[] = "curry"; data.connection = setup(data.s, &data.mask); @@ -190,6 +193,25 @@ TEST(connection_marshal) assert(data.buffer[2] == 7); assert(strcmp((char *) &data.buffer[3], "frappo") == 0); + object.id = 557799; + marshal(&data, "o", 12, &object); + assert(data.buffer[2] == object.id); + + marshal(&data, "o", 12, NULL); + assert(data.buffer[2] == 0); + + marshal(&data, "n", 12, &object); + assert(data.buffer[2] == object.id); + + marshal(&data, "n", 12, NULL); + assert(data.buffer[2] == 0); + + array.data = (void *) text; + array.size = sizeof text; + marshal(&data, "a", 20, &array); + assert(data.buffer[2] == array.size); + assert(memcmp(&data.buffer[3], text, array.size) == 0); + wl_connection_destroy(data.connection); close(data.s[1]); }