Rename dbl list

This commit is contained in:
2026-06-26 17:11:27 +01:00
parent 1a0a5b5192
commit f0e9da26bd
8 changed files with 260 additions and 260 deletions
+12 -12
View File
@@ -103,37 +103,37 @@ typedef WpDblNode WpStr8Node;
(_dblListAlloc(ALLOCATOR, sizeof(TYPE)))
#define wpDblListGet(TYPE, LIST_PTR, ITEM_INDEX) \
((TYPE *)(_dblListGet(LIST_PTR, ITEM_INDEX, sizeof(TYPE))->item))
#define wpDblListGet_node(TYPE, LIST_PTR, ITEM_INDEX) \
#define wpDblListGetNode(TYPE, LIST_PTR, ITEM_INDEX) \
(_dblListGet(LIST_PTR, ITEM_INDEX, sizeof(TYPE)))
#define wpDblListGet_node_item(TYPE, NODE_PTR) \
#define wpDblListGetNodeItem(TYPE, NODE_PTR) \
((TYPE *)( \
(NODE_PTR == NULL) ? \
NULL : \
(NODE_PTR)->item \
))
#define wpDblListPush_front(TYPE, LIST_PTR, ITEM_PTR) \
#define wpDblListPushFront(TYPE, LIST_PTR, ITEM_PTR) \
(_dblListPushFront(LIST_PTR, _dblListNode(TYPE, ITEM_PTR), sizeof(TYPE)))
#define wpDblListPush_back(TYPE, LIST_PTR, ITEM_PTR) \
#define wpDblListPushBack(TYPE, LIST_PTR, ITEM_PTR) \
(_dblListPushBack(LIST_PTR, _dblListNode(TYPE, ITEM_PTR), sizeof(TYPE)))
#define wpDblListInsert(TYPE, LIST_PTR, ITEM_PTR, ITEM_INDEX) \
(_dblListInsert(LIST_PTR, _dblListNode(TYPE, ITEM_PTR), \
ITEM_INDEX, sizeof(TYPE)))
#define wpDblListPush_front_alloc(TYPE, ALLOCATOR, LIST_PTR, ITEM_PTR) \
#define wpDblListPushFrontAlloc(TYPE, ALLOCATOR, LIST_PTR, ITEM_PTR) \
(_dblListPushFront(LIST_PTR, _dblListNodeAlloc(ALLOCATOR, ITEM_PTR, sizeof(TYPE)), \
sizeof(TYPE)))
#define wpDblListPush_back_alloc(TYPE, ALLOCATOR, LIST_PTR, ITEM_PTR) \
#define wpDblListPushBackAlloc(TYPE, ALLOCATOR, LIST_PTR, ITEM_PTR) \
(_dblListPushBack(LIST_PTR, _dblListNodeAlloc(ALLOCATOR, ITEM_PTR, sizeof(TYPE)), \
sizeof(TYPE)))
#define wpDblListInsert_alloc(TYPE, ALLOCATOR, LIST_PTR, ITEM_PTR, ITEM_INDEX) \
#define wpDblListInsertAlloc(TYPE, ALLOCATOR, LIST_PTR, ITEM_PTR, ITEM_INDEX) \
(_dblListInsert(LIST_PTR, _dblListNodeAlloc(ALLOCATOR, ITEM_PTR, sizeof(TYPE)), \
ITEM_INDEX, sizeof(TYPE)))
#define wpDblListPop_front(TYPE, LIST_PTR) \
#define wpDblListPopFront(TYPE, LIST_PTR) \
((TYPE *)( \
(LIST_PTR == NULL || (LIST_PTR)->node_count == 0) ? \
NULL : \
_dblListPopFront(LIST_PTR, sizeof(TYPE))->item \
))
#define wpDblListPop_back(TYPE, LIST_PTR) \
#define wpDblListPopBack(TYPE, LIST_PTR) \
((TYPE *)( \
(LIST_PTR == NULL || (LIST_PTR)->node_count == 0) ? \
NULL : \
@@ -145,19 +145,19 @@ typedef WpDblNode WpStr8Node;
NULL : \
_dblListRemove(LIST_PTR, ITEM_INDEX, sizeof(TYPE))->item \
))
#define wpDblListPop_front_node(TYPE, LIST_PTR) \
#define wpDblListPopFrontNode(TYPE, LIST_PTR) \
( \
(LIST_PTR == NULL || (LIST_PTR)->node_count == 0) ? \
NULL : \
_dblListPopFront(LIST_PTR, sizeof(TYPE)) \
)
#define wpDblListPop_back_node(TYPE, LIST_PTR) \
#define wpDblListPopBackNode(TYPE, LIST_PTR) \
( \
(LIST_PTR == NULL || (LIST_PTR)->node_count == 0) ? \
NULL : \
_dblListPopBack(LIST_PTR, sizeof(TYPE)) \
)
#define wpDblListRemove_node(TYPE, LIST_PTR, ITEM_INDEX) \
#define wpDblListRemoveNode(TYPE, LIST_PTR, ITEM_INDEX) \
( \
(LIST_PTR == NULL || (LIST_PTR)->node_count == 0 || ITEM_INDEX >= (LIST_PTR)->node_count) ? \
NULL : \
+6 -6
View File
@@ -338,7 +338,7 @@ WpStr8List *wpStr8SplitWithMax(const WpAllocator *allocator, WpStr8RO *str, WpSt
if (delimiter->size > str->size) {
WpStr8 *full = wpStr8AllocStr8(allocator, str);
if (full) {
wpDblListPush_back_alloc(WpStr8, allocator, output, full);
wpDblListPushBackAlloc(WpStr8, allocator, output, full);
}
goto RETURN_STR8_SPLIT;
@@ -357,7 +357,7 @@ WpStr8List *wpStr8SplitWithMax(const WpAllocator *allocator, WpStr8RO *str, WpSt
before_str = wpStr8AllocSubstr(allocator, str, start, start + end);
if (before_str) {
wpDblListPush_back_alloc(WpStr8, allocator, output, before_str);
wpDblListPushBackAlloc(WpStr8, allocator, output, before_str);
}
wpMemAllocatorFree(allocator, (void **)&rest, sizeof(WpStr8));
@@ -370,7 +370,7 @@ WpStr8List *wpStr8SplitWithMax(const WpAllocator *allocator, WpStr8RO *str, WpSt
// Ensure the last part of the string after the delimiter is added to the list
rest = wpStr8AllocSubstr(allocator, str, start, str->size);
if (rest) {
wpDblListPush_back_alloc(WpStr8, allocator, output, rest);
wpDblListPushBackAlloc(WpStr8, allocator, output, rest);
}
RETURN_STR8_SPLIT:
@@ -385,7 +385,7 @@ WpStr8List *wpStr8RsplitWithMax(const WpAllocator *allocator, WpStr8RO *str, WpS
if (delimiter->size > str->size) {
WpStr8 *full = wpStr8AllocStr8(allocator, str);
if (full) {
wpDblListPush_back_alloc(WpStr8, allocator, output, full);
wpDblListPushBackAlloc(WpStr8, allocator, output, full);
}
goto RETURN_STR8_SPLIT;
@@ -403,7 +403,7 @@ WpStr8List *wpStr8RsplitWithMax(const WpAllocator *allocator, WpStr8RO *str, WpS
after_str = wpStr8AllocSubstr(allocator, rest, end + delimiter->size, str->size);
if (after_str) {
wpDblListPush_front_alloc(WpStr8, allocator, output, after_str);
wpDblListPushFrontAlloc(WpStr8, allocator, output, after_str);
}
wpMemAllocatorFree(allocator, (void **)&rest, sizeof(WpStr8));
@@ -414,7 +414,7 @@ WpStr8List *wpStr8RsplitWithMax(const WpAllocator *allocator, WpStr8RO *str, WpS
rest = wpStr8AllocSubstr(allocator, str, 0, rest->size);
if (rest) {
wpDblListPush_front_alloc(WpStr8, allocator, output, rest);
wpDblListPushFrontAlloc(WpStr8, allocator, output, rest);
}
RETURN_STR8_SPLIT:
+38 -38
View File
@@ -16,72 +16,72 @@ WpTestFuncResult test_cpath_join_path(void) {
wpStr8Format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&tmp, "%c", WAPP_PATH_SEP);
WpStr8List parts = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
wapp_dbl_list_push_back(WpStr8, &parts, &wpStr8Lit("home"));
wapp_dbl_list_push_back(WpStr8, &parts, &wpStr8Lit("abdelrahman"));
wapp_dbl_list_push_back(WpStr8, &parts, &wpStr8Lit("Documents"));
WpStr8List parts = wpDblList(WpStr8);
wpDblListPushBack(WpStr8, &parts, &tmp);
wpDblListPushBack(WpStr8, &parts, &wpStr8Lit("home"));
wpDblListPushBack(WpStr8, &parts, &wpStr8Lit("abdelrahman"));
wpDblListPushBack(WpStr8, &parts, &wpStr8Lit("Documents"));
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = wpStr8Equal(&out, &expected);
wapp_dbl_list_pop_front(WpStr8, &parts);
wpDblListPopFront(WpStr8, &parts);
wpStr8Format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wpStr8ConcatCapped(&tmp, &wpStr8LitRo("home"));
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_dbl_list_push_front(WpStr8, &parts, &tmp);
wpDblListPopFront(WpStr8, &parts);
wpDblListPushFront(WpStr8, &parts, &tmp);
wpStr8Format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wpStr8Format(&tmp, "home%c", WAPP_PATH_SEP);
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_dbl_list_push_front(WpStr8, &parts, &wpStr8Lit("home"));
wpDblListPopFront(WpStr8, &parts);
wpDblListPushFront(WpStr8, &parts, &wpStr8Lit("home"));
wpStr8Format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wapp_dbl_list_empty(WpStr8, &parts);
wpDblListEmpty(WpStr8, &parts);
wpStr8Format(&tmp, "%chome", WAPP_PATH_SEP);
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
wapp_dbl_list_push_back(WpStr8, &parts, &wpStr8Lit(""));
wpDblListPushBack(WpStr8, &parts, &tmp);
wpDblListPushBack(WpStr8, &parts, &wpStr8Lit(""));
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_dbl_list_push_back(WpStr8, &parts, &wpStr8Lit(""));
wpDblListPopFront(WpStr8, &parts);
wpDblListPushBack(WpStr8, &parts, &wpStr8Lit(""));
wpStr8Format(&expected, "%s", "");
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wapp_dbl_list_pop_back(WpStr8, &parts);
wapp_dbl_list_push_back(WpStr8, &parts, &wpStr8Lit("home"));
wpDblListPopBack(WpStr8, &parts);
wpDblListPushBack(WpStr8, &parts, &wpStr8Lit("home"));
wpStr8CopyCstrCapped(&expected, "home");
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
return wpTesterResult(result);
}
WpTestFuncResult test_cpath_dirname(void) {
WpAllocator arena = wapp_mem_arena_allocator_init(MiB(8));
WpAllocator arena = wpMemArenaAllocatorInit(MiB(8));
if (wpMemAllocatorInvalid(&arena)) {
return wpTesterResult(false);
}
@@ -96,40 +96,40 @@ WpTestFuncResult test_cpath_dirname(void) {
wpStr8Format(&tmp, "%c", WAPP_PATH_SEP);
wpStr8Format(&expected, "%c", WAPP_PATH_SEP);
output = wapp_cpath_dirname(&arena, &tmp);
output = wpCpathDirname(&arena, &tmp);
result = output != NULL && wpStr8Equal(output, &expected);
// CASE 2
wpStr8Format(&expected, "%s", ".");
output = wapp_cpath_dirname(&arena, &wpStr8Lit("home"));
output = wpCpathDirname(&arena, &wpStr8Lit("home"));
result = result && output != NULL && wpStr8Equal(output, &expected);
// CASE 3
output = wapp_cpath_dirname(&arena, &wpStr8Lit(""));
output = wpCpathDirname(&arena, &wpStr8Lit(""));
result = result && output != NULL && wpStr8Equal(output, &expected);
// CASE 4
wpStr8Format(&tmp, "%chome%ctest", WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
output = wapp_cpath_dirname(&arena, &tmp);
output = wpCpathDirname(&arena, &tmp);
result = result && output != NULL && wpStr8Equal(output, &expected);
// CASE 5
wpStr8Format(&tmp, "%chome%ctest%c", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
output = wapp_cpath_dirname(&arena, &tmp);
output = wpCpathDirname(&arena, &tmp);
result = result && output != NULL && wpStr8Equal(output, &expected);
wapp_mem_arena_allocator_destroy(&arena);
wpMemArenaAllocatorDestroy(&arena);
return wpTesterResult(result);
}
WpTestFuncResult test_cpath_dirup(void) {
WpAllocator arena = wapp_mem_arena_allocator_init(MiB(8));
WpAllocator arena = wpMemArenaAllocatorInit(MiB(8));
if (wpMemAllocatorInvalid(&arena)) {
return wpTesterResult(false);
}
@@ -144,38 +144,38 @@ WpTestFuncResult test_cpath_dirup(void) {
wpStr8Format(&tmp, "%c", WAPP_PATH_SEP);
wpStr8Format(&expected, "%c", WAPP_PATH_SEP);
output = wapp_cpath_dirup(&arena, &tmp, 3);
output = wpCpathDirup(&arena, &tmp, 3);
result = output != NULL && wpStr8Equal(output, &expected);
// CASE 2
wpStr8Format(&tmp, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%c", WAPP_PATH_SEP);
output = wapp_cpath_dirup(&arena, &tmp, 3);
output = wpCpathDirup(&arena, &tmp, 3);
result = result && output != NULL && wpStr8Equal(output, &expected);
// CASE 3
wpStr8Format(&tmp, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8CopyCstrCapped(&expected, ".");
output = wapp_cpath_dirup(&arena, &tmp, 3);
output = wpCpathDirup(&arena, &tmp, 3);
result = result && output != NULL && wpStr8Equal(output, &expected);
// CASE 4
wpStr8Format(&tmp, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
output = wapp_cpath_dirup(&arena, &tmp, 2);
output = wpCpathDirup(&arena, &tmp, 2);
result = result && output != NULL && wpStr8Equal(output, &expected);
// CASE 5
wpStr8Format(&tmp, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8CopyCstrCapped(&expected, "home");
output = wapp_cpath_dirup(&arena, &tmp, 2);
output = wpCpathDirup(&arena, &tmp, 2);
result = result && output != NULL && wpStr8Equal(output, &expected);
wapp_mem_arena_allocator_destroy(&arena);
wpMemArenaAllocatorDestroy(&arena);
return wpTesterResult(result);
}
+38 -38
View File
@@ -16,90 +16,90 @@ WpTestFuncResult test_cpath_join_path(void) {
wpStr8Format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&tmp, "%c", WAPP_PATH_SEP);
WpStr8List parts = wapp_dbl_list(WpStr8);
WpStr8List parts = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
wpDblListPushBack(WpStr8, &parts, &tmp);
WpStr8 home = wpStr8Lit("home");
wapp_dbl_list_push_back(WpStr8, &parts, &home);
wpDblListPushBack(WpStr8, &parts, &home);
WpStr8 user = wpStr8Lit("abdelrahman");
wapp_dbl_list_push_back(WpStr8, &parts, &user);
wpDblListPushBack(WpStr8, &parts, &user);
WpStr8 docs = wpStr8Lit("Documents");
wapp_dbl_list_push_back(WpStr8, &parts, &docs);
wpDblListPushBack(WpStr8, &parts, &docs);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = wpStr8Equal(&out, &expected);
wapp_dbl_list_pop_front(WpStr8, &parts);
wpDblListPopFront(WpStr8, &parts);
wpStr8Format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
WpStr8RO str = wpStr8LitRo("home");
wpStr8ConcatCapped(&tmp, &str);
wapp_dbl_list_pop_front(WpStr8, &parts);
wpDblListPopFront(WpStr8, &parts);
wapp_dbl_list_push_front(WpStr8, &parts, &tmp);
wpDblListPushFront(WpStr8, &parts, &tmp);
wpStr8Format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wpStr8Format(&tmp, "home%c", WAPP_PATH_SEP);
wapp_dbl_list_pop_front(WpStr8, &parts);
wpDblListPopFront(WpStr8, &parts);
WpStr8 home_2 = wpStr8Lit("home");
wapp_dbl_list_push_front(WpStr8, &parts, &home_2);
wpDblListPushFront(WpStr8, &parts, &home_2);
wpStr8Format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wapp_dbl_list_empty(WpStr8, &parts);
wpDblListEmpty(WpStr8, &parts);
wpStr8Format(&tmp, "%chome", WAPP_PATH_SEP);
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
wpDblListPushBack(WpStr8, &parts, &tmp);
WpStr8 empty = wpStr8Lit("");
wapp_dbl_list_push_back(WpStr8, &parts, &empty);
wpDblListPushBack(WpStr8, &parts, &empty);
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wapp_dbl_list_pop_front(WpStr8, &parts);
wpDblListPopFront(WpStr8, &parts);
WpStr8 empty_2 = wpStr8Lit("");
wapp_dbl_list_push_back(WpStr8, &parts, &empty_2);
wpDblListPushBack(WpStr8, &parts, &empty_2);
wpStr8Format(&expected, "%s", "");
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
wapp_dbl_list_pop_back(WpStr8, &parts);
wpDblListPopBack(WpStr8, &parts);
WpStr8 home_3 = wpStr8Lit("home");
wapp_dbl_list_push_back(WpStr8, &parts, &home_3);
wpDblListPushBack(WpStr8, &parts, &home_3);
wpStr8CopyCstrCapped(&expected, "home");
wapp_cpath_join_path(&out, &parts);
wpCpathJoinPath(&out, &parts);
result = result && wpStr8Equal(&out, &expected);
return wpTesterResult(result);
}
WpTestFuncResult test_cpath_dirname(void) {
WpAllocator arena = wapp_mem_arena_allocator_init(MiB(8));
WpAllocator arena = wpMemArenaAllocatorInit(MiB(8));
if (wpMemAllocatorInvalid(&arena)) {
return wpTesterResult(false);
}
@@ -114,42 +114,42 @@ WpTestFuncResult test_cpath_dirname(void) {
wpStr8Format(&tmp, "%c", WAPP_PATH_SEP);
wpStr8Format(&expected, "%c", WAPP_PATH_SEP);
output = wapp_cpath_dirname(&arena, &tmp);
output = wpCpathDirname(&arena, &tmp);
result = output != nullptr && wpStr8Equal(output, &expected);
// CASE 2
wpStr8Format(&expected, "%s", ".");
WpStr8 path = wpStr8Lit("home");
output = wapp_cpath_dirname(&arena, &path);
output = wpCpathDirname(&arena, &path);
result = result && output != nullptr && wpStr8Equal(output, &expected);
// CASE 3
path = wpStr8Lit("");
output = wapp_cpath_dirname(&arena, &path);
output = wpCpathDirname(&arena, &path);
result = result && output != nullptr && wpStr8Equal(output, &expected);
// CASE 4
wpStr8Format(&tmp, "%chome%ctest", WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
output = wapp_cpath_dirname(&arena, &tmp);
output = wpCpathDirname(&arena, &tmp);
result = result && output != nullptr && wpStr8Equal(output, &expected);
// CASE 5
wpStr8Format(&tmp, "%chome%ctest%c", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
output = wapp_cpath_dirname(&arena, &tmp);
output = wpCpathDirname(&arena, &tmp);
result = result && output != nullptr && wpStr8Equal(output, &expected);
wapp_mem_arena_allocator_destroy(&arena);
wpMemArenaAllocatorDestroy(&arena);
return wpTesterResult(result);
}
WpTestFuncResult test_cpath_dirup(void) {
WpAllocator arena = wapp_mem_arena_allocator_init(MiB(8));
WpAllocator arena = wpMemArenaAllocatorInit(MiB(8));
if (wpMemAllocatorInvalid(&arena)) {
return wpTesterResult(false);
}
@@ -164,38 +164,38 @@ WpTestFuncResult test_cpath_dirup(void) {
wpStr8Format(&tmp, "%c", WAPP_PATH_SEP);
wpStr8Format(&expected, "%c", WAPP_PATH_SEP);
output = wapp_cpath_dirup(&arena, &tmp, 3);
output = wpCpathDirup(&arena, &tmp, 3);
result = output != nullptr && wpStr8Equal(output, &expected);
// CASE 2
wpStr8Format(&tmp, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%c", WAPP_PATH_SEP);
output = wapp_cpath_dirup(&arena, &tmp, 3);
output = wpCpathDirup(&arena, &tmp, 3);
result = result && output != nullptr && wpStr8Equal(output, &expected);
// CASE 3
wpStr8Format(&tmp, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8CopyCstrCapped(&expected, ".");
output = wapp_cpath_dirup(&arena, &tmp, 3);
output = wpCpathDirup(&arena, &tmp, 3);
result = result && output != nullptr && wpStr8Equal(output, &expected);
// CASE 4
wpStr8Format(&tmp, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8Format(&expected, "%chome", WAPP_PATH_SEP);
output = wapp_cpath_dirup(&arena, &tmp, 2);
output = wpCpathDirup(&arena, &tmp, 2);
result = result && output != nullptr && wpStr8Equal(output, &expected);
// CASE 5
wpStr8Format(&tmp, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wpStr8CopyCstrCapped(&expected, "home");
output = wapp_cpath_dirup(&arena, &tmp, 2);
output = wpCpathDirup(&arena, &tmp, 2);
result = result && output != nullptr && wpStr8Equal(output, &expected);
wapp_mem_arena_allocator_destroy(&arena);
wpMemArenaAllocatorDestroy(&arena);
return wpTesterResult(result);
}
+15 -15
View File
@@ -5,11 +5,11 @@
#include <string.h>
WpTestFuncResult test_commander_cmd_success(void) {
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wpStr8Lit("echo"));
wapp_dbl_list_push_back(WpStr8, &cmd, &wpStr8Lit("hello world"));
WpStr8List cmd = wpDblList(WpStr8);
wpDblListPushBack(WpStr8, &cmd, &wpStr8Lit("echo"));
wpDblListPushBack(WpStr8, &cmd, &wpStr8Lit("hello world"));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, NULL, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_DISCARD, NULL, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
result.error == SHELL_ERR_NO_ERROR;
@@ -17,10 +17,10 @@ WpTestFuncResult test_commander_cmd_success(void) {
}
WpTestFuncResult test_commander_cmd_failure(void) {
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wpStr8Lit("grep"));
WpStr8List cmd = wpDblList(WpStr8);
wpDblListPushBack(WpStr8, &cmd, &wpStr8Lit("grep"));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, NULL, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_DISCARD, NULL, &cmd);
b8 failed = result.exited && result.exit_code != EXIT_SUCCESS &&
result.error == SHELL_ERR_NO_ERROR;
@@ -33,11 +33,11 @@ WpTestFuncResult test_commander_cmd_out_buf_success(void) {
char msg[] = "hello world";
wpStr8CopyCstrCapped(&expected, msg);
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wpStr8Lit("echo"));
wapp_dbl_list_push_back(WpStr8, &cmd, &wpStr8Lit(msg));
WpStr8List cmd = wpDblList(WpStr8);
wpDblListPushBack(WpStr8, &cmd, &wpStr8Lit("echo"));
wpDblListPushBack(WpStr8, &cmd, &wpStr8Lit(msg));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
result.error == SHELL_ERR_NO_ERROR && wpStr8EqualToCount(&buf, &expected, strlen(msg));
@@ -50,11 +50,11 @@ WpTestFuncResult test_commander_cmd_out_buf_failure(void) {
char msg[] = "hello world";
wpStr8CopyCstrCapped(&expected, msg);
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wpStr8Lit("echo"));
wapp_dbl_list_push_back(WpStr8, &cmd, &wpStr8Lit(msg));
WpStr8List cmd = wpDblList(WpStr8);
wpDblListPushBack(WpStr8, &cmd, &wpStr8Lit("echo"));
wpDblListPushBack(WpStr8, &cmd, &wpStr8Lit(msg));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 failed = !result.exited && result.exit_code != EXIT_SUCCESS &&
result.error == SHELL_ERR_OUT_BUF_FULL && !wpStr8Equal(&buf, &expected);
+15 -15
View File
@@ -5,13 +5,13 @@
#include <string.h>
WpTestFuncResult test_commander_cmd_success(void) {
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8List cmd = wpDblList(WpStr8);
WpStr8 echo = wpStr8Lit("echo");
WpStr8 msg = wpStr8Lit("hello world");
wapp_dbl_list_push_back(WpStr8, &cmd, &echo);
wapp_dbl_list_push_back(WpStr8, &cmd, &msg);
wpDblListPushBack(WpStr8, &cmd, &echo);
wpDblListPushBack(WpStr8, &cmd, &msg);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, nullptr, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_DISCARD, nullptr, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
result.error == SHELL_ERR_NO_ERROR;
@@ -19,11 +19,11 @@ WpTestFuncResult test_commander_cmd_success(void) {
}
WpTestFuncResult test_commander_cmd_failure(void) {
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8List cmd = wpDblList(WpStr8);
WpStr8 grep = wpStr8Lit("grep");
wapp_dbl_list_push_back(WpStr8, &cmd, &grep);
wpDblListPushBack(WpStr8, &cmd, &grep);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, nullptr, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_DISCARD, nullptr, &cmd);
b8 failed = result.exited && result.exit_code != EXIT_SUCCESS &&
result.error == SHELL_ERR_NO_ERROR;
@@ -36,13 +36,13 @@ WpTestFuncResult test_commander_cmd_out_buf_success(void) {
char msg[] = "hello world";
wpStr8CopyCstrCapped(&expected, msg);
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8List cmd = wpDblList(WpStr8);
WpStr8 echo = wpStr8Lit("echo");
WpStr8 arg = wpStr8Lit(msg);
wapp_dbl_list_push_back(WpStr8, &cmd, &echo);
wapp_dbl_list_push_back(WpStr8, &cmd, &arg);
wpDblListPushBack(WpStr8, &cmd, &echo);
wpDblListPushBack(WpStr8, &cmd, &arg);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
result.error == SHELL_ERR_NO_ERROR && wpStr8EqualToCount(&buf, &expected, strlen(msg));
@@ -55,13 +55,13 @@ WpTestFuncResult test_commander_cmd_out_buf_failure(void) {
char msg[] = "hello world";
wpStr8CopyCstrCapped(&expected, msg);
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8List cmd = wpDblList(WpStr8);
WpStr8 echo = wpStr8Lit("echo");
WpStr8 arg = wpStr8Lit(msg);
wapp_dbl_list_push_back(WpStr8, &cmd, &echo);
wapp_dbl_list_push_back(WpStr8, &cmd, &arg);
wpDblListPushBack(WpStr8, &cmd, &echo);
wpDblListPushBack(WpStr8, &cmd, &arg);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
WpCmdResult result = wpShellCommanderExecute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 failed = !result.exited && result.exit_code != EXIT_SUCCESS &&
result.error == SHELL_ERR_OUT_BUF_FULL && !wpStr8Equal(&buf, &expected);
+68 -68
View File
@@ -10,27 +10,27 @@ WpTestFuncResult test_str8_list_get(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_get(WpStr8, &list, 0);
WpStr8 *node = wpDblListGet(WpStr8, &list, 0);
result = node == &s1 && wpStr8Equal(node, &s1);
node = wapp_dbl_list_get(WpStr8, &list, 1);
node = wpDblListGet(WpStr8, &list, 1);
result = result && node == &s2 && wpStr8Equal(node, &s2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
node = wpDblListGet(WpStr8, &list, 2);
result = result && node == &s3 && wpStr8Equal(node, &s3);
node = wapp_dbl_list_get(WpStr8, &list, 3);
node = wpDblListGet(WpStr8, &list, 3);
result = result && node == &s4 && wpStr8Equal(node, &s4);
node = wapp_dbl_list_get(WpStr8, &list, 4);
node = wpDblListGet(WpStr8, &list, 4);
result = result && node == &s5 && wpStr8Equal(node, &s5);
return wpTesterResult(result);
@@ -43,15 +43,15 @@ WpTestFuncResult test_str8_list_push_front(void) {
WpStr8 s2 = wpStr8Lit("2");
WpStr8 s3 = wpStr8Lit("3");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_front(WpStr8, &list, &s1);
wpDblListPushFront(WpStr8, &list, &s1);
result = list.first == list.last && list.first->item == &s1 && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_front(WpStr8, &list, &s2);
wpDblListPushFront(WpStr8, &list, &s2);
result = result && list.first->item == &s2 && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_front(WpStr8, &list, &s3);
wpDblListPushFront(WpStr8, &list, &s3);
result = result && list.first->item == &s3 && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -64,15 +64,15 @@ WpTestFuncResult test_str8_list_push_back(void) {
WpStr8 s2 = wpStr8Lit("2");
WpStr8 s3 = wpStr8Lit("3");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s1);
result = list.first == list.last && list.last->item == &s1 && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s2);
result = result && list.last->item == &s2 && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s3);
result = result && list.last->item == &s3 && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -89,20 +89,20 @@ WpTestFuncResult test_str8_list_insert(void) {
WpStr8 s6 = wpStr8Lit("6");
WpStr8 s7 = wpStr8Lit("7");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node;
wapp_dbl_list_insert(WpStr8, &list, &s6, 2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
wpDblListInsert(WpStr8, &list, &s6, 2);
node = wpDblListGet(WpStr8, &list, 2);
result = node != NULL && node == &s6 && wpStr8ListTotalSize(&list) == 6 && list.node_count == 6;
wapp_dbl_list_insert(WpStr8, &list, &s7, 5);
node = wapp_dbl_list_get(WpStr8, &list, 5);
wpDblListInsert(WpStr8, &list, &s7, 5);
node = wpDblListGet(WpStr8, &list, 5);
result = result && node != NULL && node == &s7 && wpStr8ListTotalSize(&list) == 7 && list.node_count == 7;
return wpTesterResult(result);
@@ -117,27 +117,27 @@ WpTestFuncResult test_str8_list_pop_front(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_pop_front(WpStr8, &list);
WpStr8 *node = wpDblListPopFront(WpStr8, &list);
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -152,27 +152,27 @@ WpTestFuncResult test_str8_list_pop_back(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_front(WpStr8, &list, &s1);
wapp_dbl_list_push_front(WpStr8, &list, &s2);
wapp_dbl_list_push_front(WpStr8, &list, &s3);
wapp_dbl_list_push_front(WpStr8, &list, &s4);
wapp_dbl_list_push_front(WpStr8, &list, &s5);
wpDblListPushFront(WpStr8, &list, &s1);
wpDblListPushFront(WpStr8, &list, &s2);
wpDblListPushFront(WpStr8, &list, &s3);
wpDblListPushFront(WpStr8, &list, &s4);
wpDblListPushFront(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_pop_back(WpStr8, &list);
WpStr8 *node = wpDblListPopBack(WpStr8, &list);
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -187,27 +187,27 @@ WpTestFuncResult test_str8_list_remove(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_remove(WpStr8, &list, 0);
WpStr8 *node = wpDblListRemove(WpStr8, &list, 0);
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -216,13 +216,13 @@ WpTestFuncResult test_str8_list_remove(void) {
WpTestFuncResult test_str8_list_empty(void) {
b8 result;
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &wpStr8Lit("Hello"));
wapp_dbl_list_push_back(WpStr8, &list, &wpStr8Lit("from"));
wapp_dbl_list_push_back(WpStr8, &list, &wpStr8Lit("wizapp"));
wapp_dbl_list_push_back(WpStr8, &list, &wpStr8Lit("stdlib"));
WpStr8List list = wpDblList(WpStr8);
wpDblListPushBack(WpStr8, &list, &wpStr8Lit("Hello"));
wpDblListPushBack(WpStr8, &list, &wpStr8Lit("from"));
wpDblListPushBack(WpStr8, &list, &wpStr8Lit("wizapp"));
wpDblListPushBack(WpStr8, &list, &wpStr8Lit("stdlib"));
wapp_dbl_list_empty(WpStr8, &list);
wpDblListEmpty(WpStr8, &list);
result = list.first == NULL && list.last == NULL && list.node_count == 0 && wpStr8ListTotalSize(&list) == 0;
+68 -68
View File
@@ -10,27 +10,27 @@ WpTestFuncResult test_str8_list_get(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_get(WpStr8, &list, 0);
WpStr8 *node = wpDblListGet(WpStr8, &list, 0);
result = node == &s1 && wpStr8Equal(node, &s1);
node = wapp_dbl_list_get(WpStr8, &list, 1);
node = wpDblListGet(WpStr8, &list, 1);
result = result && node == &s2 && wpStr8Equal(node, &s2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
node = wpDblListGet(WpStr8, &list, 2);
result = result && node == &s3 && wpStr8Equal(node, &s3);
node = wapp_dbl_list_get(WpStr8, &list, 3);
node = wpDblListGet(WpStr8, &list, 3);
result = result && node == &s4 && wpStr8Equal(node, &s4);
node = wapp_dbl_list_get(WpStr8, &list, 4);
node = wpDblListGet(WpStr8, &list, 4);
result = result && node == &s5 && wpStr8Equal(node, &s5);
return wpTesterResult(result);
@@ -43,15 +43,15 @@ WpTestFuncResult test_str8_list_push_front(void) {
WpStr8 s2 = wpStr8Lit("2");
WpStr8 s3 = wpStr8Lit("3");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_front(WpStr8, &list, &s1);
wpDblListPushFront(WpStr8, &list, &s1);
result = list.first == list.last && list.first->item == &s1 && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_front(WpStr8, &list, &s2);
wpDblListPushFront(WpStr8, &list, &s2);
result = result && list.first->item == &s2 && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_front(WpStr8, &list, &s3);
wpDblListPushFront(WpStr8, &list, &s3);
result = result && list.first->item == &s3 && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -64,15 +64,15 @@ WpTestFuncResult test_str8_list_push_back(void) {
WpStr8 s2 = wpStr8Lit("2");
WpStr8 s3 = wpStr8Lit("3");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s1);
result = list.first == list.last && list.last->item == &s1 && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s2);
result = result && list.last->item == &s2 && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s3);
result = result && list.last->item == &s3 && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -89,20 +89,20 @@ WpTestFuncResult test_str8_list_insert(void) {
WpStr8 s6 = wpStr8Lit("6");
WpStr8 s7 = wpStr8Lit("7");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node;
wapp_dbl_list_insert(WpStr8, &list, &s6, 2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
wpDblListInsert(WpStr8, &list, &s6, 2);
node = wpDblListGet(WpStr8, &list, 2);
result = node != NULL && node == &s6 && wpStr8ListTotalSize(&list) == 6 && list.node_count == 6;
wapp_dbl_list_insert(WpStr8, &list, &s7, 5);
node = wapp_dbl_list_get(WpStr8, &list, 5);
wpDblListInsert(WpStr8, &list, &s7, 5);
node = wpDblListGet(WpStr8, &list, 5);
result = result && node != NULL && node == &s7 && wpStr8ListTotalSize(&list) == 7 && list.node_count == 7;
return wpTesterResult(result);
@@ -117,27 +117,27 @@ WpTestFuncResult test_str8_list_pop_front(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_pop_front(WpStr8, &list);
WpStr8 *node = wpDblListPopFront(WpStr8, &list);
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_front(WpStr8, &list);
node = wpDblListPopFront(WpStr8, &list);
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -152,27 +152,27 @@ WpTestFuncResult test_str8_list_pop_back(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_front(WpStr8, &list, &s1);
wapp_dbl_list_push_front(WpStr8, &list, &s2);
wapp_dbl_list_push_front(WpStr8, &list, &s3);
wapp_dbl_list_push_front(WpStr8, &list, &s4);
wapp_dbl_list_push_front(WpStr8, &list, &s5);
wpDblListPushFront(WpStr8, &list, &s1);
wpDblListPushFront(WpStr8, &list, &s2);
wpDblListPushFront(WpStr8, &list, &s3);
wpDblListPushFront(WpStr8, &list, &s4);
wpDblListPushFront(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_pop_back(WpStr8, &list);
WpStr8 *node = wpDblListPopBack(WpStr8, &list);
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_back(WpStr8, &list);
node = wpDblListPopBack(WpStr8, &list);
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -187,27 +187,27 @@ WpTestFuncResult test_str8_list_remove(void) {
WpStr8 s4 = wpStr8Lit("4");
WpStr8 s5 = wpStr8Lit("5");
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s4);
wapp_dbl_list_push_back(WpStr8, &list, &s5);
wpDblListPushBack(WpStr8, &list, &s1);
wpDblListPushBack(WpStr8, &list, &s2);
wpDblListPushBack(WpStr8, &list, &s3);
wpDblListPushBack(WpStr8, &list, &s4);
wpDblListPushBack(WpStr8, &list, &s5);
WpStr8 *node = wapp_dbl_list_remove(WpStr8, &list, 0);
WpStr8 *node = wpDblListRemove(WpStr8, &list, 0);
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_remove(WpStr8, &list, 0);
node = wpDblListRemove(WpStr8, &list, 0);
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -216,21 +216,21 @@ WpTestFuncResult test_str8_list_remove(void) {
WpTestFuncResult test_str8_list_empty(void) {
b8 result;
WpStr8List list = wapp_dbl_list(WpStr8);
WpStr8List list = wpDblList(WpStr8);
WpStr8 hello = wpStr8Lit("Hello");
wapp_dbl_list_push_back(WpStr8, &list, &hello);
wpDblListPushBack(WpStr8, &list, &hello);
WpStr8 from = wpStr8Lit("from");
wapp_dbl_list_push_back(WpStr8, &list, &from);
wpDblListPushBack(WpStr8, &list, &from);
WpStr8 wizapp = wpStr8Lit("wizapp");
wapp_dbl_list_push_back(WpStr8, &list, &wizapp);
wpDblListPushBack(WpStr8, &list, &wizapp);
WpStr8 stdlib = wpStr8Lit("stdlib");
wapp_dbl_list_push_back(WpStr8, &list, &stdlib);
wpDblListPushBack(WpStr8, &list, &stdlib);
wapp_dbl_list_empty(WpStr8, &list);
wpDblListEmpty(WpStr8, &list);
result = list.first == NULL && list.last == NULL && list.node_count == 0 && wpStr8ListTotalSize(&list) == 0;