summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong Bakos <ybakos@humanoriented.com>2016-11-03 13:42:54 -0700
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2016-11-10 17:12:04 +0200
commit9618087c6ad0b1e2de4037279f7370846c5f508c (patch)
tree93b2c91bee4e7c52851c0d38816a1ecc8c31af71 /tests
parentprotocol: Remove inconsistent line breaks (diff)
downloadwayland-9618087c6ad0b1e2de4037279f7370846c5f508c.tar
wayland-9618087c6ad0b1e2de4037279f7370846c5f508c.tar.gz
wayland-9618087c6ad0b1e2de4037279f7370846c5f508c.tar.bz2
wayland-9618087c6ad0b1e2de4037279f7370846c5f508c.tar.lz
wayland-9618087c6ad0b1e2de4037279f7370846c5f508c.tar.xz
wayland-9618087c6ad0b1e2de4037279f7370846c5f508c.tar.zst
wayland-9618087c6ad0b1e2de4037279f7370846c5f508c.zip
tests: Test wl_message_count_arrays
message-test.c did not cover wl_message_count_arrays, so add one test that specifically tests this method. Note that this exposes wl_message_count_arrays in a private header (wayland-private.h), and removes the `static` modifier of the implementation. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'tests')
-rw-r--r--tests/message-test.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/message-test.c b/tests/message-test.c
index cb08f90..389f788 100644
--- a/tests/message-test.c
+++ b/tests/message-test.c
@@ -51,3 +51,40 @@ TEST(message_version)
messages[i].expected_version);
}
}
+
+TEST(message_count_arrays)
+{
+ unsigned int i;
+ struct wl_message fake_messages[] = {
+ { "empty", "", NULL },
+ { "non_present", "iufsonh", NULL },
+ { "leading", "aiufsonh", NULL},
+ { "trailing", "iufsonha", NULL },
+ { "middle", "iufasonh", NULL },
+ { "multiple", "aaiufaasonhaa", NULL },
+ { "leading_version", "2aaiufaasonhaa", NULL },
+ { "among_nullables", "iufsa?oa?nah", NULL },
+ { "all_mixed", "2aiufas?oa?na", NULL },
+ };
+ const struct {
+ const struct wl_message *message;
+ int expected_array_count;
+ } messages[] = {
+ { &wl_pointer_interface.events[WL_POINTER_ENTER], 0 },
+ { &wl_keyboard_interface.events[WL_KEYBOARD_ENTER], 1 },
+ { &fake_messages[0], 0 },
+ { &fake_messages[1], 0 },
+ { &fake_messages[2], 1 },
+ { &fake_messages[3], 1 },
+ { &fake_messages[4], 1 },
+ { &fake_messages[5], 6 },
+ { &fake_messages[6], 6 },
+ { &fake_messages[7], 3 },
+ { &fake_messages[8], 4 }
+ };
+
+ for (i = 0; i < ARRAY_LENGTH(messages); ++i) {
+ assert(wl_message_count_arrays(messages[i].message) ==
+ messages[i].expected_array_count);
+ }
+}