diff -r 37dcaeebe5ca -r 9c176073e771 tests/test_kv_list.c --- a/tests/test_kv_list.c Thu Sep 11 20:10:12 2025 +0200 +++ b/tests/test_kv_list.c Thu Sep 11 20:17:43 2025 +0200 @@ -157,6 +157,29 @@ cxListFree(list); } +CX_TEST(test_kv_list_insert_array_and_set_keys) { + CxList *list = cxKvListCreateSimple(sizeof(int)); + CX_TEST_DO { + int arr[] = { 13, 21, 34, 55, 89 }; + CX_TEST_ASSERT(5 == cxListAddArray(list, arr, 5)); + CX_TEST_ASSERT(5 == cxListSize(list)); + CX_TEST_ASSERT(0 == cxKvListSetKey(list, 0, "xyz")); + CX_TEST_ASSERT(0 == cxKvListSetKey(list, 1, "abc")); + CX_TEST_ASSERT(0 == cxKvListSetKey(list, 2, "def")); + CX_TEST_ASSERT(0 == cxKvListSetKey(list, 3, "ghi")); + CX_TEST_ASSERT(0 == cxKvListSetKey(list, 4, "jkl")); + + CxMap *map = cxKvListAsMap(list); + CX_TEST_ASSERT(5 == cxMapSize(map)); + CX_TEST_ASSERT(*(int*)cxMapGet(map, "xyz") == 13); + CX_TEST_ASSERT(*(int*)cxMapGet(map, "abc") == 21); + CX_TEST_ASSERT(*(int*)cxMapGet(map, "def") == 34); + CX_TEST_ASSERT(*(int*)cxMapGet(map, "ghi") == 55); + CX_TEST_ASSERT(*(int*)cxMapGet(map, "jkl") == 89); + } + cxListFree(list); +} + static int kv_list_test_destr_val; static void kv_list_test_destr(void *data) { @@ -312,6 +335,7 @@ cx_test_register(suite, test_kv_list_map_put_ptr); cx_test_register(suite, test_kv_list_map_remove); cx_test_register(suite, test_kv_list_set_key); + cx_test_register(suite, test_kv_list_insert_array_and_set_keys); cx_test_register(suite, test_kv_list_list_remove_destr_in_list); cx_test_register(suite, test_kv_list_list_remove_destr_in_map); cx_test_register(suite, test_kv_list_map_remove_destr_in_list);