tests/test_list.c

changeset 1493
33f556a7eca6
parent 1486
717e472f18d9
--- a/tests/test_list.c	Sat Nov 15 08:30:00 2025 +0100
+++ b/tests/test_list.c	Mon Nov 17 22:28:04 2025 +0100
@@ -777,6 +777,22 @@
         CX_TEST_ASSERT(begin == &new_begin);
         CX_TEST_ASSERT(end == &nodes[4]);
 
+        // duplicate the beginning node
+        // (expectation is that the duplicate is inserted after the first node)
+        node new_begin_dup = {0};
+        new_begin_dup.data = 1;
+        cx_linked_list_insert_sorted(
+                &begin, &end,
+                loc_prev, loc_next,
+                &new_begin_dup, test_cmp_node
+        );
+        CX_TEST_ASSERT(new_begin_dup.prev == &new_begin);
+        CX_TEST_ASSERT(new_begin_dup.next == &nodes[0]);
+        CX_TEST_ASSERT(nodes[0].prev == &new_begin_dup);
+        CX_TEST_ASSERT(new_begin.next == &new_begin_dup);
+        CX_TEST_ASSERT(begin == &new_begin);
+        CX_TEST_ASSERT(end == &nodes[4]);
+
         // now insert a chain
         node chain_start  = {NULL, NULL, 8};
         node chain_mid = {NULL, NULL, 14};

mercurial