]> git.ozlabs.org Git - ccan/blobdiff - ccan/list/test/run-list_prev-list_next.c
base64: fix for unsigned chars (e.g. ARM).
[ccan] / ccan / list / test / run-list_prev-list_next.c
index 85611d9d74863d0f1cd841040fcd2085ccc797fd..cc61e03a01f3f160f2c94bb91b12bca23d60ba85 100644 (file)
@@ -14,12 +14,14 @@ struct child {
        struct list_node list;
 };
 
-int main(int argc, char *argv[])
+int main(void)
 {
        struct parent parent;
        struct child c1, c2, c3;
+       const struct parent *p;
+       const struct child *c;
 
-       plan_tests(12);
+       plan_tests(20);
        parent.num_children = 0;
        list_head_init(&parent.children);
 
@@ -46,5 +48,18 @@ int main(int argc, char *argv[])
        ok1(list_prev(&parent.children, &c2, list) == &c1);
        ok1(list_next(&parent.children, &c3, list) == NULL);
        ok1(list_prev(&parent.children, &c3, list) == &c2);
+
+       /* Const variants */
+       p = &parent;
+       c = &c2;
+       ok1(list_next(&p->children, &c1, list) == &c2);
+       ok1(list_prev(&p->children, &c1, list) == NULL);
+       ok1(list_next(&p->children, c, list) == &c3);
+       ok1(list_prev(&p->children, c, list) == &c1);
+       ok1(list_next(&parent.children, c, list) == &c3);
+       ok1(list_prev(&parent.children, c, list) == &c1);
+       ok1(list_next(&p->children, &c3, list) == NULL);
+       ok1(list_prev(&p->children, &c3, list) == &c2);
+
        return exit_status();
 }