Start str8 renaming

This commit is contained in:
2026-06-26 16:02:12 +01:00
parent cd797683d2
commit acbfc9088c
34 changed files with 729 additions and 729 deletions
+4 -4
View File
@@ -5,16 +5,16 @@
WpTestFuncResult test_str8_array(void) {
b8 result;
Str8 expected[] = {wapp_str8_lit("Hello"), wapp_str8_lit("Hi"), wapp_str8_lit("Bye")};
Str8Array array = wapp_array(Str8, wapp_str8_lit("Hello"), wapp_str8_lit("Hi"), wapp_str8_lit("Bye"));
WpStr8 expected[] = {wapp_str8_lit("Hello"), wapp_str8_lit("Hi"), wapp_str8_lit("Bye")};
WpStr8Array array = wapp_array(WpStr8, wapp_str8_lit("Hello"), wapp_str8_lit("Hi"), wapp_str8_lit("Bye"));
result = wapp_array_count(array) == 3 && wapp_array_capacity(array) == 8;
Str8 *item;
WpStr8 *item;
u64 count = wapp_array_count(array);
u64 index = 0;
b8 running = true;
while (running) {
item = wapp_array_get(Str8, array, index);
item = wapp_array_get(WpStr8, array, index);
result = result && item && (wapp_str8_equal(item, &expected[index]));
++index;
+7 -7
View File
@@ -5,21 +5,21 @@
WpTestFuncResult test_str8_array(void) {
b8 result;
Str8 expected[] = {wapp_str8_lit("Hello"), wapp_str8_lit("Hi"), wapp_str8_lit("Bye")};
WpStr8 expected[] = {wapp_str8_lit("Hello"), wapp_str8_lit("Hi"), wapp_str8_lit("Bye")};
Str8 str1 = wapp_str8_lit("Hello");
Str8 str2 = wapp_str8_lit("Hi");
Str8 str3 = wapp_str8_lit("Bye");
Str8Array array = wapp_array(Str8, str1, str2, str3);
WpStr8 str1 = wapp_str8_lit("Hello");
WpStr8 str2 = wapp_str8_lit("Hi");
WpStr8 str3 = wapp_str8_lit("Bye");
WpStr8Array array = wapp_array(WpStr8, str1, str2, str3);
result = wapp_array_count(array) == 3 && wapp_array_capacity(array) == 8;
Str8 *item;
WpStr8 *item;
u64 count = wapp_array_count(array);
u64 index = 0;
b8 running = true;
while (running) {
item = wapp_array_get(Str8, array, index);
item = wapp_array_get(WpStr8, array, index);
result = result && item && (wapp_str8_equal(item, &expected[index]));
++index;
+26 -26
View File
@@ -9,23 +9,23 @@
WpTestFuncResult test_cpath_join_path(void) {
b8 result;
Str8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 out = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
WpStr8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 out = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
wapp_str8_format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_str8_format(&tmp, "%c", WAPP_PATH_SEP);
Str8List parts = wapp_dbl_list(Str8);
wapp_dbl_list_push_back(Str8, &parts, &tmp);
wapp_dbl_list_push_back(Str8, &parts, &wapp_str8_lit("home"));
wapp_dbl_list_push_back(Str8, &parts, &wapp_str8_lit("abdelrahman"));
wapp_dbl_list_push_back(Str8, &parts, &wapp_str8_lit("Documents"));
WpStr8List parts = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
wapp_dbl_list_push_back(WpStr8, &parts, &wapp_str8_lit("home"));
wapp_dbl_list_push_back(WpStr8, &parts, &wapp_str8_lit("abdelrahman"));
wapp_dbl_list_push_back(WpStr8, &parts, &wapp_str8_lit("Documents"));
wapp_cpath_join_path(&out, &parts);
result = wapp_str8_equal(&out, &expected);
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_str8_format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
@@ -33,8 +33,8 @@ WpTestFuncResult test_cpath_join_path(void) {
result = result && wapp_str8_equal(&out, &expected);
wapp_str8_concat_capped(&tmp, &wapp_str8_lit_ro("home"));
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_push_front(Str8, &parts, &tmp);
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_dbl_list_push_front(WpStr8, &parts, &tmp);
wapp_str8_format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
@@ -42,35 +42,35 @@ WpTestFuncResult test_cpath_join_path(void) {
result = result && wapp_str8_equal(&out, &expected);
wapp_str8_format(&tmp, "home%c", WAPP_PATH_SEP);
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_push_front(Str8, &parts, &wapp_str8_lit("home"));
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_dbl_list_push_front(WpStr8, &parts, &wapp_str8_lit("home"));
wapp_str8_format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
result = result && wapp_str8_equal(&out, &expected);
wapp_dbl_list_empty(Str8, &parts);
wapp_dbl_list_empty(WpStr8, &parts);
wapp_str8_format(&tmp, "%chome", WAPP_PATH_SEP);
wapp_dbl_list_push_back(Str8, &parts, &tmp);
wapp_dbl_list_push_back(Str8, &parts, &wapp_str8_lit(""));
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
wapp_dbl_list_push_back(WpStr8, &parts, &wapp_str8_lit(""));
wapp_str8_format(&expected, "%chome", WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
result = result && wapp_str8_equal(&out, &expected);
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_push_back(Str8, &parts, &wapp_str8_lit(""));
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_dbl_list_push_back(WpStr8, &parts, &wapp_str8_lit(""));
wapp_str8_format(&expected, "%s", "");
wapp_cpath_join_path(&out, &parts);
result = result && wapp_str8_equal(&out, &expected);
wapp_dbl_list_pop_back(Str8, &parts);
wapp_dbl_list_push_back(Str8, &parts, &wapp_str8_lit("home"));
wapp_dbl_list_pop_back(WpStr8, &parts);
wapp_dbl_list_push_back(WpStr8, &parts, &wapp_str8_lit("home"));
wapp_str8_copy_cstr_capped(&expected, "home");
@@ -87,10 +87,10 @@ WpTestFuncResult test_cpath_dirname(void) {
}
b8 result;
Str8 *output = NULL;
WpStr8 *output = NULL;
Str8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
WpStr8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
// CASE 1
wapp_str8_format(&tmp, "%c", WAPP_PATH_SEP);
@@ -135,10 +135,10 @@ WpTestFuncResult test_cpath_dirup(void) {
}
b8 result;
Str8 *output = NULL;
WpStr8 *output = NULL;
Str8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
WpStr8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
// CASE 1
wapp_str8_format(&tmp, "%c", WAPP_PATH_SEP);
+35 -35
View File
@@ -9,41 +9,41 @@
WpTestFuncResult test_cpath_join_path(void) {
b8 result;
Str8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 out = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
WpStr8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 out = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
wapp_str8_format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_str8_format(&tmp, "%c", WAPP_PATH_SEP);
Str8List parts = wapp_dbl_list(Str8);
WpStr8List parts = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &parts, &tmp);
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
Str8 home = wapp_str8_lit("home");
wapp_dbl_list_push_back(Str8, &parts, &home);
WpStr8 home = wapp_str8_lit("home");
wapp_dbl_list_push_back(WpStr8, &parts, &home);
Str8 user = wapp_str8_lit("abdelrahman");
wapp_dbl_list_push_back(Str8, &parts, &user);
WpStr8 user = wapp_str8_lit("abdelrahman");
wapp_dbl_list_push_back(WpStr8, &parts, &user);
Str8 docs = wapp_str8_lit("Documents");
wapp_dbl_list_push_back(Str8, &parts, &docs);
WpStr8 docs = wapp_str8_lit("Documents");
wapp_dbl_list_push_back(WpStr8, &parts, &docs);
wapp_cpath_join_path(&out, &parts);
result = wapp_str8_equal(&out, &expected);
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_str8_format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
result = result && wapp_str8_equal(&out, &expected);
Str8RO str = wapp_str8_lit_ro("home");
WpStr8RO str = wapp_str8_lit_ro("home");
wapp_str8_concat_capped(&tmp, &str);
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_pop_front(WpStr8, &parts);
wapp_dbl_list_push_front(Str8, &parts, &tmp);
wapp_dbl_list_push_front(WpStr8, &parts, &tmp);
wapp_str8_format(&expected, "%chome%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP, WAPP_PATH_SEP);
@@ -51,44 +51,44 @@ WpTestFuncResult test_cpath_join_path(void) {
result = result && wapp_str8_equal(&out, &expected);
wapp_str8_format(&tmp, "home%c", WAPP_PATH_SEP);
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_pop_front(WpStr8, &parts);
Str8 home_2 = wapp_str8_lit("home");
wapp_dbl_list_push_front(Str8, &parts, &home_2);
WpStr8 home_2 = wapp_str8_lit("home");
wapp_dbl_list_push_front(WpStr8, &parts, &home_2);
wapp_str8_format(&expected, "home%cabdelrahman%cDocuments", WAPP_PATH_SEP, WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
result = result && wapp_str8_equal(&out, &expected);
wapp_dbl_list_empty(Str8, &parts);
wapp_dbl_list_empty(WpStr8, &parts);
wapp_str8_format(&tmp, "%chome", WAPP_PATH_SEP);
wapp_dbl_list_push_back(Str8, &parts, &tmp);
wapp_dbl_list_push_back(WpStr8, &parts, &tmp);
Str8 empty = wapp_str8_lit("");
wapp_dbl_list_push_back(Str8, &parts, &empty);
WpStr8 empty = wapp_str8_lit("");
wapp_dbl_list_push_back(WpStr8, &parts, &empty);
wapp_str8_format(&expected, "%chome", WAPP_PATH_SEP);
wapp_cpath_join_path(&out, &parts);
result = result && wapp_str8_equal(&out, &expected);
wapp_dbl_list_pop_front(Str8, &parts);
wapp_dbl_list_pop_front(WpStr8, &parts);
Str8 empty_2 = wapp_str8_lit("");
wapp_dbl_list_push_back(Str8, &parts, &empty_2);
WpStr8 empty_2 = wapp_str8_lit("");
wapp_dbl_list_push_back(WpStr8, &parts, &empty_2);
wapp_str8_format(&expected, "%s", "");
wapp_cpath_join_path(&out, &parts);
result = result && wapp_str8_equal(&out, &expected);
wapp_dbl_list_pop_back(Str8, &parts);
wapp_dbl_list_pop_back(WpStr8, &parts);
Str8 home_3 = wapp_str8_lit("home");
wapp_dbl_list_push_back(Str8, &parts, &home_3);
WpStr8 home_3 = wapp_str8_lit("home");
wapp_dbl_list_push_back(WpStr8, &parts, &home_3);
wapp_str8_copy_cstr_capped(&expected, "home");
@@ -105,10 +105,10 @@ WpTestFuncResult test_cpath_dirname(void) {
}
b8 result;
Str8 *output = nullptr;
WpStr8 *output = nullptr;
Str8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
WpStr8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
// CASE 1
wapp_str8_format(&tmp, "%c", WAPP_PATH_SEP);
@@ -120,7 +120,7 @@ WpTestFuncResult test_cpath_dirname(void) {
// CASE 2
wapp_str8_format(&expected, "%s", ".");
Str8 path = wapp_str8_lit("home");
WpStr8 path = wapp_str8_lit("home");
output = wapp_cpath_dirname(&arena, &path);
result = result && output != nullptr && wapp_str8_equal(output, &expected);
@@ -155,10 +155,10 @@ WpTestFuncResult test_cpath_dirup(void) {
}
b8 result;
Str8 *output = nullptr;
WpStr8 *output = nullptr;
Str8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
Str8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
WpStr8 expected = wapp_str8_buf(MAIN_BUF_SIZE);
WpStr8 tmp = wapp_str8_buf(TMP_BUF_SIZE);
// CASE 1
wapp_str8_format(&tmp, "%c", WAPP_PATH_SEP);
+2 -2
View File
@@ -4,8 +4,8 @@
#define DST_CAPACITY 5
wp_intern Allocator arena = {0};
wp_intern Str8RO test_filename = wapp_str8_lit_ro_initialiser_list("wapptest.bin");
wp_intern Str8RO new_filename = wapp_str8_lit_ro_initialiser_list("wapptest2.bin");
wp_intern WpStr8RO test_filename = wapp_str8_lit_ro_initialiser_list("wapptest.bin");
wp_intern WpStr8RO new_filename = wapp_str8_lit_ro_initialiser_list("wapptest2.bin");
wp_intern WFile *test_fp = NULL;
wp_intern I32Array src_array1 = wapp_array(i32, 0, 1, 2, 3, 4);
wp_intern I32Array src_array2 = wapp_array(i32, 5, 6, 7, 8, 9);
+2 -2
View File
@@ -4,8 +4,8 @@
#define DST_CAPACITY 5
wp_intern Allocator arena = {};
wp_intern Str8RO test_filename = wapp_str8_lit_ro_initialiser_list("wapptest.bin");
wp_intern Str8RO new_filename = wapp_str8_lit_ro_initialiser_list("wapptest2.bin");
wp_intern WpStr8RO test_filename = wapp_str8_lit_ro_initialiser_list("wapptest.bin");
wp_intern WpStr8RO new_filename = wapp_str8_lit_ro_initialiser_list("wapptest2.bin");
wp_intern WFile *test_fp = NULL;
wp_intern i32 dst_buf[DST_CAPACITY] = {0};
wp_intern I32Array src_array1;
+15 -15
View File
@@ -5,9 +5,9 @@
#include <string.h>
WpTestFuncResult test_commander_cmd_success(void) {
Str8List cmd = wapp_dbl_list(Str8);
wapp_dbl_list_push_back(Str8, &cmd, &wapp_str8_lit("echo"));
wapp_dbl_list_push_back(Str8, &cmd, &wapp_str8_lit("hello world"));
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wapp_str8_lit("echo"));
wapp_dbl_list_push_back(WpStr8, &cmd, &wapp_str8_lit("hello world"));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, NULL, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
@@ -17,8 +17,8 @@ WpTestFuncResult test_commander_cmd_success(void) {
}
WpTestFuncResult test_commander_cmd_failure(void) {
Str8List cmd = wapp_dbl_list(Str8);
wapp_dbl_list_push_back(Str8, &cmd, &wapp_str8_lit("grep"));
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wapp_str8_lit("grep"));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, NULL, &cmd);
b8 failed = result.exited && result.exit_code != EXIT_SUCCESS &&
@@ -28,14 +28,14 @@ WpTestFuncResult test_commander_cmd_failure(void) {
}
WpTestFuncResult test_commander_cmd_out_buf_success(void) {
Str8 buf = wapp_str8_buf(64);
Str8 expected = wapp_str8_buf(64);
WpStr8 buf = wapp_str8_buf(64);
WpStr8 expected = wapp_str8_buf(64);
char msg[] = "hello world";
wapp_str8_copy_cstr_capped(&expected, msg);
Str8List cmd = wapp_dbl_list(Str8);
wapp_dbl_list_push_back(Str8, &cmd, &wapp_str8_lit("echo"));
wapp_dbl_list_push_back(Str8, &cmd, &wapp_str8_lit(msg));
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wapp_str8_lit("echo"));
wapp_dbl_list_push_back(WpStr8, &cmd, &wapp_str8_lit(msg));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
@@ -45,14 +45,14 @@ WpTestFuncResult test_commander_cmd_out_buf_success(void) {
}
WpTestFuncResult test_commander_cmd_out_buf_failure(void) {
Str8 buf = wapp_str8_buf(4);
Str8 expected = wapp_str8_buf(64);
WpStr8 buf = wapp_str8_buf(4);
WpStr8 expected = wapp_str8_buf(64);
char msg[] = "hello world";
wapp_str8_copy_cstr_capped(&expected, msg);
Str8List cmd = wapp_dbl_list(Str8);
wapp_dbl_list_push_back(Str8, &cmd, &wapp_str8_lit("echo"));
wapp_dbl_list_push_back(Str8, &cmd, &wapp_str8_lit(msg));
WpStr8List cmd = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &cmd, &wapp_str8_lit("echo"));
wapp_dbl_list_push_back(WpStr8, &cmd, &wapp_str8_lit(msg));
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 failed = !result.exited && result.exit_code != EXIT_SUCCESS &&
+22 -22
View File
@@ -5,11 +5,11 @@
#include <string.h>
WpTestFuncResult test_commander_cmd_success(void) {
Str8List cmd = wapp_dbl_list(Str8);
Str8 echo = wapp_str8_lit("echo");
Str8 msg = wapp_str8_lit("hello world");
wapp_dbl_list_push_back(Str8, &cmd, &echo);
wapp_dbl_list_push_back(Str8, &cmd, &msg);
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8 echo = wapp_str8_lit("echo");
WpStr8 msg = wapp_str8_lit("hello world");
wapp_dbl_list_push_back(WpStr8, &cmd, &echo);
wapp_dbl_list_push_back(WpStr8, &cmd, &msg);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, nullptr, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
@@ -19,9 +19,9 @@ WpTestFuncResult test_commander_cmd_success(void) {
}
WpTestFuncResult test_commander_cmd_failure(void) {
Str8List cmd = wapp_dbl_list(Str8);
Str8 grep = wapp_str8_lit("grep");
wapp_dbl_list_push_back(Str8, &cmd, &grep);
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8 grep = wapp_str8_lit("grep");
wapp_dbl_list_push_back(WpStr8, &cmd, &grep);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_DISCARD, nullptr, &cmd);
b8 failed = result.exited && result.exit_code != EXIT_SUCCESS &&
@@ -31,16 +31,16 @@ WpTestFuncResult test_commander_cmd_failure(void) {
}
WpTestFuncResult test_commander_cmd_out_buf_success(void) {
Str8 buf = wapp_str8_buf(64);
Str8 expected = wapp_str8_buf(64);
WpStr8 buf = wapp_str8_buf(64);
WpStr8 expected = wapp_str8_buf(64);
char msg[] = "hello world";
wapp_str8_copy_cstr_capped(&expected, msg);
Str8List cmd = wapp_dbl_list(Str8);
Str8 echo = wapp_str8_lit("echo");
Str8 arg = wapp_str8_lit(msg);
wapp_dbl_list_push_back(Str8, &cmd, &echo);
wapp_dbl_list_push_back(Str8, &cmd, &arg);
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8 echo = wapp_str8_lit("echo");
WpStr8 arg = wapp_str8_lit(msg);
wapp_dbl_list_push_back(WpStr8, &cmd, &echo);
wapp_dbl_list_push_back(WpStr8, &cmd, &arg);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 succeeded = result.exited && result.exit_code == EXIT_SUCCESS &&
@@ -50,16 +50,16 @@ WpTestFuncResult test_commander_cmd_out_buf_success(void) {
}
WpTestFuncResult test_commander_cmd_out_buf_failure(void) {
Str8 buf = wapp_str8_buf(4);
Str8 expected = wapp_str8_buf(64);
WpStr8 buf = wapp_str8_buf(4);
WpStr8 expected = wapp_str8_buf(64);
char msg[] = "hello world";
wapp_str8_copy_cstr_capped(&expected, msg);
Str8List cmd = wapp_dbl_list(Str8);
Str8 echo = wapp_str8_lit("echo");
Str8 arg = wapp_str8_lit(msg);
wapp_dbl_list_push_back(Str8, &cmd, &echo);
wapp_dbl_list_push_back(Str8, &cmd, &arg);
WpStr8List cmd = wapp_dbl_list(WpStr8);
WpStr8 echo = wapp_str8_lit("echo");
WpStr8 arg = wapp_str8_lit(msg);
wapp_dbl_list_push_back(WpStr8, &cmd, &echo);
wapp_dbl_list_push_back(WpStr8, &cmd, &arg);
CMDResult result = wapp_shell_commander_execute(SHELL_OUTPUT_CAPTURE, &buf, &cmd);
b8 failed = !result.exited && result.exit_code != EXIT_SUCCESS &&
+108 -108
View File
@@ -6,25 +6,25 @@
WpTestFuncResult test_str8_lit(void) {
b8 result;
Str8 s1 = wapp_str8_lit("Hello world");
WpStr8 s1 = wapp_str8_lit("Hello world");
result = s1.capacity == 22 && s1.capacity != s1.size;
Str8 s2 = wapp_str8_lit("Different strokes for different folks");
WpStr8 s2 = wapp_str8_lit("Different strokes for different folks");
result = result && s2.capacity == 74 && s2.capacity != s2.size;
Str8 s3 = wapp_str8_lit("Discretion is the better part of valour");
WpStr8 s3 = wapp_str8_lit("Discretion is the better part of valour");
result = result && s3.capacity == 78 && s3.capacity != s3.size;
Str8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
WpStr8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
result = result && s4.capacity == 76 && s4.capacity != s4.size;
Str8 s5 = wapp_str8_lit("Do as I say, not as I do");
WpStr8 s5 = wapp_str8_lit("Do as I say, not as I do");
result = result && s5.capacity == 48 && s5.capacity != s5.size;
Str8 s6 = wapp_str8_lit("Do as you would be done by");
WpStr8 s6 = wapp_str8_lit("Do as you would be done by");
result = result && s6.capacity == 52 && s6.capacity != s6.size;
Str8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
WpStr8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
result = result && s7.capacity == 94 && s7.capacity != s7.size;
return wpTesterResult(result);
@@ -33,25 +33,25 @@ WpTestFuncResult test_str8_lit(void) {
WpTestFuncResult test_str8_lit_ro(void) {
b8 result;
Str8RO s1 = wapp_str8_lit_ro("Hello world");
WpStr8RO s1 = wapp_str8_lit_ro("Hello world");
result = s1.capacity == 11 && s1.capacity == s1.size;
Str8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
WpStr8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
result = result && s2.capacity == 37 && s2.capacity == s2.size;
Str8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
WpStr8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
result = result && s3.capacity == 39 && s3.capacity == s3.size;
Str8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
WpStr8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
result = result && s4.capacity == 38 && s4.capacity == s4.size;
Str8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
WpStr8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
result = result && s5.capacity == 24 && s5.capacity == s5.size;
Str8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
WpStr8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
result = result && s6.capacity == 26 && s6.capacity == s6.size;
Str8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
WpStr8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
result = result && s7.capacity == 47 && s7.capacity == s7.size;
return wpTesterResult(result);
@@ -60,16 +60,16 @@ WpTestFuncResult test_str8_lit_ro(void) {
WpTestFuncResult test_str8_buf(void) {
b8 result;
Str8 s1 = wapp_str8_buf(1024);
WpStr8 s1 = wapp_str8_buf(1024);
result = s1.capacity == 1024 && s1.size == 0;
Str8 s2 = wapp_str8_buf(2048);
WpStr8 s2 = wapp_str8_buf(2048);
result = result && s2.capacity == 2048 && s2.size == 0;
Str8 s3 = wapp_str8_buf(4096);
WpStr8 s3 = wapp_str8_buf(4096);
result = result && s3.capacity == 4096 && s3.size == 0;
Str8 s4 = wapp_str8_buf(8192);
WpStr8 s4 = wapp_str8_buf(8192);
result = result && s4.capacity == 8192 && s4.size == 0;
return wpTesterResult(result);
@@ -84,7 +84,7 @@ WpTestFuncResult test_str8_alloc_buf(void) {
u64 capacity = 4096;
Str8 *s = wapp_str8_alloc_buf(&allocator, capacity);
WpStr8 *s = wapp_str8_alloc_buf(&allocator, capacity);
if (!s) {
result = false;
goto TEST_ALLOC_BUF_CLEANUP;
@@ -112,7 +112,7 @@ WpTestFuncResult test_str8_alloc_cstr(void) {
char *str = "Abdelrahman";
u64 length = strlen(str);
Str8 *s = wapp_str8_alloc_cstr(&allocator, str);
WpStr8 *s = wapp_str8_alloc_cstr(&allocator, str);
if (!s) {
return wpTesterResult(false);
}
@@ -131,8 +131,8 @@ WpTestFuncResult test_str8_alloc_str8(void) {
return wpTesterResult(false);
}
Str8 str = wapp_str8_lit("Abdelrahman");
Str8 *s = wapp_str8_alloc_str8(&allocator, &str);
WpStr8 str = wapp_str8_lit("Abdelrahman");
WpStr8 *s = wapp_str8_alloc_str8(&allocator, &str);
if (!s) {
return wpTesterResult(false);
}
@@ -151,8 +151,8 @@ WpTestFuncResult test_str8_alloc_substr(void) {
return wpTesterResult(false);
}
Str8 str = wapp_str8_lit("Abdelrahman");
Str8 *s = wapp_str8_alloc_substr(&allocator, &str, 3, 8);
WpStr8 str = wapp_str8_lit("Abdelrahman");
WpStr8 *s = wapp_str8_alloc_substr(&allocator, &str, 3, 8);
if (!s) {
return wpTesterResult(false);
}
@@ -167,32 +167,32 @@ WpTestFuncResult test_str8_alloc_substr(void) {
WpTestFuncResult test_str8_get_index_within_bounds(void) {
b8 result;
Str8RO s1 = wapp_str8_lit_ro("Hello world");
WpStr8RO s1 = wapp_str8_lit_ro("Hello world");
result = wapp_str8_get(&s1, 4) == 'o';
Str8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
WpStr8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
result = result && wapp_str8_get(&s2, 0) == 'D';
Str8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
WpStr8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
result = result && wapp_str8_get(&s3, 13) == ' ';
Str8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
WpStr8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
result = result && wapp_str8_get(&s4, 20) == 'n';
Str8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
WpStr8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
result = result && wapp_str8_get(&s5, 11) == ',';
Str8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
WpStr8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
result = result && wapp_str8_get(&s6, 25) == 'y';
Str8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
WpStr8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
result = result && wapp_str8_get(&s7, 16) == 's';
return wpTesterResult(result);
}
WpTestFuncResult test_str8_get_index_out_of_bounds(void) {
Str8 s1 = wapp_str8_lit("Hello world");
WpStr8 s1 = wapp_str8_lit("Hello world");
b8 result = wapp_str8_get(&s1, 20) == '\0';
return wpTesterResult(result);
}
@@ -200,31 +200,31 @@ WpTestFuncResult test_str8_get_index_out_of_bounds(void) {
WpTestFuncResult test_str8_set(void) {
b8 result;
Str8 s1 = wapp_str8_lit("Hello world");
WpStr8 s1 = wapp_str8_lit("Hello world");
wapp_str8_set(&s1, 4, 'f');
result = wapp_str8_get(&s1, 4) == 'f';
Str8 s2 = wapp_str8_lit("Different strokes for different folks");
WpStr8 s2 = wapp_str8_lit("Different strokes for different folks");
wapp_str8_set(&s2, 0, 'A');
result = result && wapp_str8_get(&s2, 0) == 'A';
Str8 s3 = wapp_str8_lit("Discretion is the better part of valour");
WpStr8 s3 = wapp_str8_lit("Discretion is the better part of valour");
wapp_str8_set(&s3, 13, 'u');
result = result && wapp_str8_get(&s3, 13) == 'u';
Str8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
WpStr8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
wapp_str8_set(&s4, 20, 'R');
result = result && wapp_str8_get(&s4, 20) == 'R';
Str8 s5 = wapp_str8_lit("Do as I say, not as I do");
WpStr8 s5 = wapp_str8_lit("Do as I say, not as I do");
wapp_str8_set(&s5, 11, '.');
result = result && wapp_str8_get(&s5, 11) == '.';
Str8 s6 = wapp_str8_lit("Do as you would be done by");
WpStr8 s6 = wapp_str8_lit("Do as you would be done by");
wapp_str8_set(&s6, 25, 'w');
result = result && wapp_str8_get(&s6, 25) == 'w';
Str8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
WpStr8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
wapp_str8_set(&s7, 16, 'i');
result = result && wapp_str8_get(&s7, 16) == 'i';
@@ -234,8 +234,8 @@ WpTestFuncResult test_str8_set(void) {
WpTestFuncResult test_str8_push_back(void) {
b8 result;
Str8 expected = wapp_str8_lit("Abdelrahman");
Str8 buf = wapp_str8_buf(64);
WpStr8 expected = wapp_str8_lit("Abdelrahman");
WpStr8 buf = wapp_str8_buf(64);
wapp_str8_push_back(&buf, 'A');
wapp_str8_push_back(&buf, 'b');
wapp_str8_push_back(&buf, 'd');
@@ -256,10 +256,10 @@ WpTestFuncResult test_str8_push_back(void) {
WpTestFuncResult test_str8_equal(void) {
b8 result;
Str8RO s1 = wapp_str8_lit_ro("hello");
Str8RO s2 = wapp_str8_lit_ro("hell");
Str8RO s3 = wapp_str8_lit_ro("hello");
Str8RO s4 = wapp_str8_lit_ro("goodbye");
WpStr8RO s1 = wapp_str8_lit_ro("hello");
WpStr8RO s2 = wapp_str8_lit_ro("hell");
WpStr8RO s3 = wapp_str8_lit_ro("hello");
WpStr8RO s4 = wapp_str8_lit_ro("goodbye");
result = wapp_str8_equal(&s1, &s2) == false;
result = result && wapp_str8_equal(&s1, &s3) == true;
@@ -270,18 +270,18 @@ WpTestFuncResult test_str8_equal(void) {
WpTestFuncResult test_str8_slice(void) {
b8 result;
Str8 s = wapp_str8_lit("Different strokes for different folks");
WpStr8 s = wapp_str8_lit("Different strokes for different folks");
Str8RO sub1 = wapp_str8_slice(&s, 3, 9);
WpStr8RO sub1 = wapp_str8_slice(&s, 3, 9);
result = sub1.size == 6 && sub1.capacity == 6;
Str8RO sub2 = wapp_str8_slice(&s, 18, 21);
WpStr8RO sub2 = wapp_str8_slice(&s, 18, 21);
result = result && sub2.size == 3 && sub2.capacity == 3;
Str8RO sub3 = wapp_str8_slice(&s, 5, 1);
WpStr8RO sub3 = wapp_str8_slice(&s, 5, 1);
result = result && sub3.size == 0 && sub3.capacity == 0;
Str8RO sub4 = wapp_str8_slice(&s, 70, 80);
WpStr8RO sub4 = wapp_str8_slice(&s, 70, 80);
result = result && sub4.size == 0 && sub4.capacity == 0;
return wpTesterResult(result);
@@ -291,13 +291,13 @@ WpTestFuncResult test_str8_alloc_concat(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("Hello world");
Str8 suffix1 = wapp_str8_lit(" from me.");
Str8 suffix2 = wapp_str8_lit(" This is my code.");
Str8 concat1 = wapp_str8_lit("Hello world from me.");
Str8 concat2 = wapp_str8_lit("Hello world from me. This is my code.");
WpStr8 str = wapp_str8_lit("Hello world");
WpStr8 suffix1 = wapp_str8_lit(" from me.");
WpStr8 suffix2 = wapp_str8_lit(" This is my code.");
WpStr8 concat1 = wapp_str8_lit("Hello world from me.");
WpStr8 concat2 = wapp_str8_lit("Hello world from me. This is my code.");
Str8 *output;
WpStr8 *output;
output = wapp_str8_alloc_concat(&arena, &str, &suffix1);
result = output->size == concat1.size && wapp_str8_equal(output, &concat1);
@@ -313,11 +313,11 @@ WpTestFuncResult test_str8_alloc_concat(void) {
WpTestFuncResult test_str8_concat_capped(void) {
b8 result;
Str8 str = wapp_str8_lit("Hello world");
Str8 suffix1 = wapp_str8_lit(" from me.");
Str8 suffix2 = wapp_str8_lit(" This is my code.");
Str8 concat1 = wapp_str8_lit("Hello world from me.");
Str8 concat2 = wapp_str8_lit("Hello world from me. T");
WpStr8 str = wapp_str8_lit("Hello world");
WpStr8 suffix1 = wapp_str8_lit(" from me.");
WpStr8 suffix2 = wapp_str8_lit(" This is my code.");
WpStr8 concat1 = wapp_str8_lit("Hello world from me.");
WpStr8 concat2 = wapp_str8_lit("Hello world from me. T");
wapp_str8_concat_capped(&str, &suffix1);
result = str.size == concat1.size && wapp_str8_equal(&str, &concat1);
@@ -331,11 +331,11 @@ WpTestFuncResult test_str8_concat_capped(void) {
WpTestFuncResult test_str8_copy_cstr_capped(void) {
b8 result;
Str8 buf = wapp_str8_buf(32);
WpStr8 buf = wapp_str8_buf(32);
const char *src1 = "Hello world";
const char *src2 = "Hello world from the Wizard Apprentice standard library";
Str8RO src1_cp = wapp_str8_lit_ro("Hello world");
Str8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
WpStr8RO src1_cp = wapp_str8_lit_ro("Hello world");
WpStr8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
wapp_str8_copy_cstr_capped(&buf, src1);
result = buf.size == src1_cp.size && wapp_str8_equal(&buf, &src1_cp);
@@ -349,10 +349,10 @@ WpTestFuncResult test_str8_copy_cstr_capped(void) {
WpTestFuncResult test_str8_copy_str8_capped(void) {
b8 result;
Str8 buf = wapp_str8_buf(32);
Str8RO src1 = wapp_str8_lit_ro("Hello world");
Str8RO src2 = wapp_str8_lit_ro("Hello world from the Wizard Apprentice standard library");
Str8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
WpStr8 buf = wapp_str8_buf(32);
WpStr8RO src1 = wapp_str8_lit_ro("Hello world");
WpStr8RO src2 = wapp_str8_lit_ro("Hello world from the Wizard Apprentice standard library");
WpStr8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
wapp_str8_copy_str8_capped(&buf, &src1);
result = buf.size == src1.size && wapp_str8_equal(&buf, &src1);
@@ -366,8 +366,8 @@ WpTestFuncResult test_str8_copy_str8_capped(void) {
WpTestFuncResult test_str8_format(void) {
b8 result;
Str8 buf = wapp_str8_buf(128);
Str8 expected = wapp_str8_lit("My name is Abdelrahman and I am 35 years old");
WpStr8 buf = wapp_str8_buf(128);
WpStr8 expected = wapp_str8_lit("My name is Abdelrahman and I am 35 years old");
wapp_str8_format(&buf, "My name is %s and I am %u years old", "Abdelrahman", 35);
@@ -378,7 +378,7 @@ WpTestFuncResult test_str8_format(void) {
WpTestFuncResult test_str8_find(void) {
b8 result;
Str8RO s = wapp_str8_lit("Do as I say, not as I do");
WpStr8RO s = wapp_str8_lit("Do as I say, not as I do");
result = wapp_str8_find(&s, wapp_str8_lit_ro("d")) != -1;
result = result && (wapp_str8_find(&s, wapp_str8_lit_ro("not")) != -1);
@@ -394,7 +394,7 @@ WpTestFuncResult test_str8_find(void) {
WpTestFuncResult test_str8_rfind(void) {
b8 result;
Str8RO s = wapp_str8_lit("Do as I say, not as I do");
WpStr8RO s = wapp_str8_lit("Do as I say, not as I do");
result = wapp_str8_rfind(&s, wapp_str8_lit_ro("d")) != -1;
result = result && (wapp_str8_rfind(&s, wapp_str8_lit_ro("not")) != -1);
@@ -412,19 +412,19 @@ WpTestFuncResult test_str8_split(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim1 = wapp_str8_lit(" ");
Str8 delim2 = wapp_str8_lit("from");
Str8List *list1 = wapp_str8_split(&arena, &str, &delim1);
Str8List *list2 = wapp_str8_split(&arena, &str, &delim2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim1 = wapp_str8_lit(" ");
WpStr8 delim2 = wapp_str8_lit("from");
WpStr8List *list1 = wapp_str8_split(&arena, &str, &delim1);
WpStr8List *list2 = wapp_str8_split(&arena, &str, &delim2);
Str8RO splits1[] = {
WpStr8RO splits1[] = {
wapp_str8_slice(&str, 0, 5),
wapp_str8_slice(&str, 6, 11),
wapp_str8_slice(&str, 12, 16),
wapp_str8_slice(&str, 17, 19),
};
Str8RO splits2[] = {
WpStr8RO splits2[] = {
wapp_str8_slice(&str, 0, 12),
wapp_str8_slice(&str, 16, 19),
};
@@ -443,7 +443,7 @@ WpTestFuncResult test_str8_split(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running1) {
Str8 *node = wapp_dbl_list_get(Str8, list1, index1);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list1, index1);
result = result && wapp_str8_equal(node, &(splits1[index1]));
++index1;
@@ -453,7 +453,7 @@ WpTestFuncResult test_str8_split(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running2) {
Str8 *node = wapp_dbl_list_get(Str8, list2, index2);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list2, index2);
result = result && wapp_str8_equal(node, &(splits2[index2]));
++index2;
@@ -469,11 +469,11 @@ WpTestFuncResult test_str8_split_with_max(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim = wapp_str8_lit(" ");
Str8List *list = wapp_str8_split_with_max(&arena, &str, &delim, 2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim = wapp_str8_lit(" ");
WpStr8List *list = wapp_str8_split_with_max(&arena, &str, &delim, 2);
Str8RO splits[] = {
WpStr8RO splits[] = {
wapp_str8_slice(&str, 0, 5),
wapp_str8_slice(&str, 6, 11),
wapp_str8_slice(&str, 12, 19),
@@ -488,7 +488,7 @@ WpTestFuncResult test_str8_split_with_max(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running) {
Str8 *node = wapp_dbl_list_get(Str8, list, index);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list, index);
result = result && wapp_str8_equal(node, &(splits[index]));
++index;
@@ -504,19 +504,19 @@ WpTestFuncResult test_str8_rsplit(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim1 = wapp_str8_lit(" ");
Str8 delim2 = wapp_str8_lit("from");
Str8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
Str8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim1 = wapp_str8_lit(" ");
WpStr8 delim2 = wapp_str8_lit("from");
WpStr8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
WpStr8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
Str8RO splits1[] = {
WpStr8RO splits1[] = {
wapp_str8_slice(&str, 0, 5),
wapp_str8_slice(&str, 6, 11),
wapp_str8_slice(&str, 12, 16),
wapp_str8_slice(&str, 17, 19),
};
Str8RO splits2[] = {
WpStr8RO splits2[] = {
wapp_str8_slice(&str, 0, 12),
wapp_str8_slice(&str, 16, 19),
};
@@ -535,7 +535,7 @@ WpTestFuncResult test_str8_rsplit(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running1) {
Str8 *node = wapp_dbl_list_get(Str8, list1, index1);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list1, index1);
result = result && wapp_str8_equal(node, &(splits1[index1]));
++index1;
@@ -545,7 +545,7 @@ WpTestFuncResult test_str8_rsplit(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running2) {
Str8 *node = wapp_dbl_list_get(Str8, list2, index2);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list2, index2);
result = result && wapp_str8_equal(node, &(splits2[index2]));
++index2;
@@ -561,11 +561,11 @@ WpTestFuncResult test_str8_rsplit_with_max(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim = wapp_str8_lit(" ");
Str8List *list = wapp_str8_rsplit_with_max(&arena, &str, &delim, 2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim = wapp_str8_lit(" ");
WpStr8List *list = wapp_str8_rsplit_with_max(&arena, &str, &delim, 2);
Str8RO splits[] = {
WpStr8RO splits[] = {
wapp_str8_slice(&str, 0, 11),
wapp_str8_slice(&str, 12, 16),
wapp_str8_slice(&str, 17, 19),
@@ -580,7 +580,7 @@ WpTestFuncResult test_str8_rsplit_with_max(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running) {
Str8 *node = wapp_dbl_list_get(Str8, list, index);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list, index);
result = result && wapp_str8_equal(node, &(splits[index]));
++index;
@@ -596,13 +596,13 @@ WpTestFuncResult test_str8_join(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim1 = wapp_str8_lit(" ");
Str8 delim2 = wapp_str8_lit("from");
Str8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
Str8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
Str8 *join1 = wapp_str8_join(&arena, list1, &delim1);
Str8 *join2 = wapp_str8_join(&arena, list2, &delim2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim1 = wapp_str8_lit(" ");
WpStr8 delim2 = wapp_str8_lit("from");
WpStr8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
WpStr8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
WpStr8 *join1 = wapp_str8_join(&arena, list1, &delim1);
WpStr8 *join2 = wapp_str8_join(&arena, list2, &delim2);
result = join1->size == str.size && wapp_str8_equal(join1, &str);
result = result && join2->size == str.size && wapp_str8_equal(join2, &str);
@@ -615,7 +615,7 @@ WpTestFuncResult test_str8_join(void) {
WpTestFuncResult test_str8_from_bytes(void) {
b8 result;
Str8 str = wapp_str8_buf(1024);
WpStr8 str = wapp_str8_buf(1024);
U8Array bytes = wapp_array(u8, 'W', 'A', 'P', 'P');
wapp_str8_from_bytes(&str, bytes);
+109 -109
View File
@@ -6,25 +6,25 @@
WpTestFuncResult test_str8_lit(void) {
b8 result;
Str8 s1 = wapp_str8_lit("Hello world");
WpStr8 s1 = wapp_str8_lit("Hello world");
result = s1.capacity == 22 && s1.capacity != s1.size;
Str8 s2 = wapp_str8_lit("Different strokes for different folks");
WpStr8 s2 = wapp_str8_lit("Different strokes for different folks");
result = result && s2.capacity == 74 && s2.capacity != s2.size;
Str8 s3 = wapp_str8_lit("Discretion is the better part of valour");
WpStr8 s3 = wapp_str8_lit("Discretion is the better part of valour");
result = result && s3.capacity == 78 && s3.capacity != s3.size;
Str8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
WpStr8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
result = result && s4.capacity == 76 && s4.capacity != s4.size;
Str8 s5 = wapp_str8_lit("Do as I say, not as I do");
WpStr8 s5 = wapp_str8_lit("Do as I say, not as I do");
result = result && s5.capacity == 48 && s5.capacity != s5.size;
Str8 s6 = wapp_str8_lit("Do as you would be done by");
WpStr8 s6 = wapp_str8_lit("Do as you would be done by");
result = result && s6.capacity == 52 && s6.capacity != s6.size;
Str8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
WpStr8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
result = result && s7.capacity == 94 && s7.capacity != s7.size;
return wpTesterResult(result);
@@ -33,25 +33,25 @@ WpTestFuncResult test_str8_lit(void) {
WpTestFuncResult test_str8_lit_ro(void) {
b8 result;
Str8RO s1 = wapp_str8_lit_ro("Hello world");
WpStr8RO s1 = wapp_str8_lit_ro("Hello world");
result = s1.capacity == 11 && s1.capacity == s1.size;
Str8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
WpStr8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
result = result && s2.capacity == 37 && s2.capacity == s2.size;
Str8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
WpStr8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
result = result && s3.capacity == 39 && s3.capacity == s3.size;
Str8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
WpStr8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
result = result && s4.capacity == 38 && s4.capacity == s4.size;
Str8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
WpStr8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
result = result && s5.capacity == 24 && s5.capacity == s5.size;
Str8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
WpStr8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
result = result && s6.capacity == 26 && s6.capacity == s6.size;
Str8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
WpStr8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
result = result && s7.capacity == 47 && s7.capacity == s7.size;
return wpTesterResult(result);
@@ -60,16 +60,16 @@ WpTestFuncResult test_str8_lit_ro(void) {
WpTestFuncResult test_str8_buf(void) {
b8 result;
Str8 s1 = wapp_str8_buf(1024);
WpStr8 s1 = wapp_str8_buf(1024);
result = s1.capacity == 1024 && s1.size == 0;
Str8 s2 = wapp_str8_buf(2048);
WpStr8 s2 = wapp_str8_buf(2048);
result = result && s2.capacity == 2048 && s2.size == 0;
Str8 s3 = wapp_str8_buf(4096);
WpStr8 s3 = wapp_str8_buf(4096);
result = result && s3.capacity == 4096 && s3.size == 0;
Str8 s4 = wapp_str8_buf(8192);
WpStr8 s4 = wapp_str8_buf(8192);
result = result && s4.capacity == 8192 && s4.size == 0;
return wpTesterResult(result);
@@ -84,7 +84,7 @@ WpTestFuncResult test_str8_alloc_buf(void) {
u64 capacity = 4096;
Str8 *s = wapp_str8_alloc_buf(&allocator, capacity);
WpStr8 *s = wapp_str8_alloc_buf(&allocator, capacity);
if (!s) {
result = false;
wapp_mem_arena_allocator_destroy(&allocator);
@@ -112,7 +112,7 @@ WpTestFuncResult test_str8_alloc_cstr(void) {
const char *str = "Abdelrahman";
u64 length = strlen(str);
Str8 *s = wapp_str8_alloc_cstr(&allocator, str);
WpStr8 *s = wapp_str8_alloc_cstr(&allocator, str);
if (!s) {
return wpTesterResult(false);
}
@@ -131,8 +131,8 @@ WpTestFuncResult test_str8_alloc_str8(void) {
return wpTesterResult(false);
}
Str8 str = wapp_str8_lit("Abdelrahman");
Str8 *s = wapp_str8_alloc_str8(&allocator, &str);
WpStr8 str = wapp_str8_lit("Abdelrahman");
WpStr8 *s = wapp_str8_alloc_str8(&allocator, &str);
if (!s) {
return wpTesterResult(false);
}
@@ -151,8 +151,8 @@ WpTestFuncResult test_str8_alloc_substr(void) {
return wpTesterResult(false);
}
Str8 str = wapp_str8_lit("Abdelrahman");
Str8 *s = wapp_str8_alloc_substr(&allocator, &str, 3, 8);
WpStr8 str = wapp_str8_lit("Abdelrahman");
WpStr8 *s = wapp_str8_alloc_substr(&allocator, &str, 3, 8);
if (!s) {
return wpTesterResult(false);
}
@@ -167,32 +167,32 @@ WpTestFuncResult test_str8_alloc_substr(void) {
WpTestFuncResult test_str8_get_index_within_bounds(void) {
b8 result;
Str8RO s1 = wapp_str8_lit_ro("Hello world");
WpStr8RO s1 = wapp_str8_lit_ro("Hello world");
result = wapp_str8_get(&s1, 4) == 'o';
Str8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
WpStr8RO s2 = wapp_str8_lit_ro("Different strokes for different folks");
result = result && wapp_str8_get(&s2, 0) == 'D';
Str8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
WpStr8RO s3 = wapp_str8_lit_ro("Discretion is the better part of valour");
result = result && wapp_str8_get(&s3, 13) == ' ';
Str8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
WpStr8RO s4 = wapp_str8_lit_ro("Distance lends enchantment to the view");
result = result && wapp_str8_get(&s4, 20) == 'n';
Str8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
WpStr8RO s5 = wapp_str8_lit_ro("Do as I say, not as I do");
result = result && wapp_str8_get(&s5, 11) == ',';
Str8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
WpStr8RO s6 = wapp_str8_lit_ro("Do as you would be done by");
result = result && wapp_str8_get(&s6, 25) == 'y';
Str8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
WpStr8RO s7 = wapp_str8_lit_ro("Do unto others as you would have them do to you");
result = result && wapp_str8_get(&s7, 16) == 's';
return wpTesterResult(result);
}
WpTestFuncResult test_str8_get_index_out_of_bounds(void) {
Str8 s1 = wapp_str8_lit("Hello world");
WpStr8 s1 = wapp_str8_lit("Hello world");
b8 result = wapp_str8_get(&s1, 20) == '\0';
return wpTesterResult(result);
}
@@ -200,31 +200,31 @@ WpTestFuncResult test_str8_get_index_out_of_bounds(void) {
WpTestFuncResult test_str8_set(void) {
b8 result;
Str8 s1 = wapp_str8_lit("Hello world");
WpStr8 s1 = wapp_str8_lit("Hello world");
wapp_str8_set(&s1, 4, 'f');
result = wapp_str8_get(&s1, 4) == 'f';
Str8 s2 = wapp_str8_lit("Different strokes for different folks");
WpStr8 s2 = wapp_str8_lit("Different strokes for different folks");
wapp_str8_set(&s2, 0, 'A');
result = result && wapp_str8_get(&s2, 0) == 'A';
Str8 s3 = wapp_str8_lit("Discretion is the better part of valour");
WpStr8 s3 = wapp_str8_lit("Discretion is the better part of valour");
wapp_str8_set(&s3, 13, 'u');
result = result && wapp_str8_get(&s3, 13) == 'u';
Str8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
WpStr8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
wapp_str8_set(&s4, 20, 'R');
result = result && wapp_str8_get(&s4, 20) == 'R';
Str8 s5 = wapp_str8_lit("Do as I say, not as I do");
WpStr8 s5 = wapp_str8_lit("Do as I say, not as I do");
wapp_str8_set(&s5, 11, '.');
result = result && wapp_str8_get(&s5, 11) == '.';
Str8 s6 = wapp_str8_lit("Do as you would be done by");
WpStr8 s6 = wapp_str8_lit("Do as you would be done by");
wapp_str8_set(&s6, 25, 'w');
result = result && wapp_str8_get(&s6, 25) == 'w';
Str8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
WpStr8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
wapp_str8_set(&s7, 16, 'i');
result = result && wapp_str8_get(&s7, 16) == 'i';
@@ -234,8 +234,8 @@ WpTestFuncResult test_str8_set(void) {
WpTestFuncResult test_str8_push_back(void) {
b8 result;
Str8 expected = wapp_str8_lit("Abdelrahman");
Str8 buf = wapp_str8_buf(64);
WpStr8 expected = wapp_str8_lit("Abdelrahman");
WpStr8 buf = wapp_str8_buf(64);
wapp_str8_push_back(&buf, 'A');
wapp_str8_push_back(&buf, 'b');
wapp_str8_push_back(&buf, 'd');
@@ -256,10 +256,10 @@ WpTestFuncResult test_str8_push_back(void) {
WpTestFuncResult test_str8_equal(void) {
b8 result;
Str8RO s1 = wapp_str8_lit_ro("hello");
Str8RO s2 = wapp_str8_lit_ro("hell");
Str8RO s3 = wapp_str8_lit_ro("hello");
Str8RO s4 = wapp_str8_lit_ro("goodbye");
WpStr8RO s1 = wapp_str8_lit_ro("hello");
WpStr8RO s2 = wapp_str8_lit_ro("hell");
WpStr8RO s3 = wapp_str8_lit_ro("hello");
WpStr8RO s4 = wapp_str8_lit_ro("goodbye");
result = wapp_str8_equal(&s1, &s2) == false;
result = result && wapp_str8_equal(&s1, &s3) == (b8)true;
@@ -270,18 +270,18 @@ WpTestFuncResult test_str8_equal(void) {
WpTestFuncResult test_str8_slice(void) {
b8 result;
Str8 s = wapp_str8_lit("Different strokes for different folks");
WpStr8 s = wapp_str8_lit("Different strokes for different folks");
Str8RO sub1 = wapp_str8_slice(&s, 3, 9);
WpStr8RO sub1 = wapp_str8_slice(&s, 3, 9);
result = sub1.size == 6 && sub1.capacity == 6;
Str8RO sub2 = wapp_str8_slice(&s, 18, 21);
WpStr8RO sub2 = wapp_str8_slice(&s, 18, 21);
result = result && sub2.size == 3 && sub2.capacity == 3;
Str8RO sub3 = wapp_str8_slice(&s, 5, 1);
WpStr8RO sub3 = wapp_str8_slice(&s, 5, 1);
result = result && sub3.size == 0 && sub3.capacity == 0;
Str8RO sub4 = wapp_str8_slice(&s, 70, 80);
WpStr8RO sub4 = wapp_str8_slice(&s, 70, 80);
result = result && sub4.size == 0 && sub4.capacity == 0;
return wpTesterResult(result);
@@ -291,13 +291,13 @@ WpTestFuncResult test_str8_alloc_concat(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("Hello world");
Str8 suffix1 = wapp_str8_lit(" from me.");
Str8 suffix2 = wapp_str8_lit(" This is my code.");
Str8 concat1 = wapp_str8_lit("Hello world from me.");
Str8 concat2 = wapp_str8_lit("Hello world from me. This is my code.");
WpStr8 str = wapp_str8_lit("Hello world");
WpStr8 suffix1 = wapp_str8_lit(" from me.");
WpStr8 suffix2 = wapp_str8_lit(" This is my code.");
WpStr8 concat1 = wapp_str8_lit("Hello world from me.");
WpStr8 concat2 = wapp_str8_lit("Hello world from me. This is my code.");
Str8 *output;
WpStr8 *output;
output = wapp_str8_alloc_concat(&arena, &str, &suffix1);
result = output->size == concat1.size && wapp_str8_equal(output, &concat1);
@@ -313,11 +313,11 @@ WpTestFuncResult test_str8_alloc_concat(void) {
WpTestFuncResult test_str8_concat_capped(void) {
b8 result;
Str8 str = wapp_str8_lit("Hello world");
Str8 suffix1 = wapp_str8_lit(" from me.");
Str8 suffix2 = wapp_str8_lit(" This is my code.");
Str8 concat1 = wapp_str8_lit("Hello world from me.");
Str8 concat2 = wapp_str8_lit("Hello world from me. T");
WpStr8 str = wapp_str8_lit("Hello world");
WpStr8 suffix1 = wapp_str8_lit(" from me.");
WpStr8 suffix2 = wapp_str8_lit(" This is my code.");
WpStr8 concat1 = wapp_str8_lit("Hello world from me.");
WpStr8 concat2 = wapp_str8_lit("Hello world from me. T");
wapp_str8_concat_capped(&str, &suffix1);
result = str.size == concat1.size && wapp_str8_equal(&str, &concat1);
@@ -331,11 +331,11 @@ WpTestFuncResult test_str8_concat_capped(void) {
WpTestFuncResult test_str8_copy_cstr_capped(void) {
b8 result;
Str8 buf = wapp_str8_buf(32);
WpStr8 buf = wapp_str8_buf(32);
const char *src1 = "Hello world";
const char *src2 = "Hello world from the Wizard Apprentice standard library";
Str8RO src1_cp = wapp_str8_lit_ro("Hello world");
Str8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
WpStr8RO src1_cp = wapp_str8_lit_ro("Hello world");
WpStr8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
wapp_str8_copy_cstr_capped(&buf, src1);
result = buf.size == src1_cp.size && wapp_str8_equal(&buf, &src1_cp);
@@ -349,10 +349,10 @@ WpTestFuncResult test_str8_copy_cstr_capped(void) {
WpTestFuncResult test_str8_copy_str8_capped(void) {
b8 result;
Str8 buf = wapp_str8_buf(32);
Str8RO src1 = wapp_str8_lit_ro("Hello world");
Str8RO src2 = wapp_str8_lit_ro("Hello world from the Wizard Apprentice standard library");
Str8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
WpStr8 buf = wapp_str8_buf(32);
WpStr8RO src1 = wapp_str8_lit_ro("Hello world");
WpStr8RO src2 = wapp_str8_lit_ro("Hello world from the Wizard Apprentice standard library");
WpStr8RO src2_cp = wapp_str8_lit_ro("Hello world from the Wizard Appr");
wapp_str8_copy_str8_capped(&buf, &src1);
result = buf.size == src1.size && wapp_str8_equal(&buf, &src1);
@@ -366,8 +366,8 @@ WpTestFuncResult test_str8_copy_str8_capped(void) {
WpTestFuncResult test_str8_format(void) {
b8 result;
Str8 buf = wapp_str8_buf(128);
Str8 expected = wapp_str8_lit("My name is Abdelrahman and I am 35 years old");
WpStr8 buf = wapp_str8_buf(128);
WpStr8 expected = wapp_str8_lit("My name is Abdelrahman and I am 35 years old");
wapp_str8_format(&buf, "My name is %s and I am %u years old", "Abdelrahman", 35);
@@ -378,7 +378,7 @@ WpTestFuncResult test_str8_format(void) {
WpTestFuncResult test_str8_find(void) {
b8 result;
Str8RO s = wapp_str8_lit("Do as I say, not as I do");
WpStr8RO s = wapp_str8_lit("Do as I say, not as I do");
result = wapp_str8_find(&s, wapp_str8_lit_ro("d")) != -1;
result = result && (wapp_str8_find(&s, wapp_str8_lit_ro("not")) != -1);
@@ -394,7 +394,7 @@ WpTestFuncResult test_str8_find(void) {
WpTestFuncResult test_str8_rfind(void) {
b8 result;
Str8RO s = wapp_str8_lit("Do as I say, not as I do");
WpStr8RO s = wapp_str8_lit("Do as I say, not as I do");
result = wapp_str8_rfind(&s, wapp_str8_lit_ro("d")) != -1;
result = result && (wapp_str8_rfind(&s, wapp_str8_lit_ro("not")) != -1);
@@ -412,19 +412,19 @@ WpTestFuncResult test_str8_split(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim1 = wapp_str8_lit(" ");
Str8 delim2 = wapp_str8_lit("from");
Str8List *list1 = wapp_str8_split(&arena, &str, &delim1);
Str8List *list2 = wapp_str8_split(&arena, &str, &delim2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim1 = wapp_str8_lit(" ");
WpStr8 delim2 = wapp_str8_lit("from");
WpStr8List *list1 = wapp_str8_split(&arena, &str, &delim1);
WpStr8List *list2 = wapp_str8_split(&arena, &str, &delim2);
Str8RO splits1[] = {
WpStr8RO splits1[] = {
wapp_str8_slice(&str, 0, 5),
wapp_str8_slice(&str, 6, 11),
wapp_str8_slice(&str, 12, 16),
wapp_str8_slice(&str, 17, 19),
};
Str8RO splits2[] = {
WpStr8RO splits2[] = {
wapp_str8_slice(&str, 0, 12),
wapp_str8_slice(&str, 16, 19),
};
@@ -443,7 +443,7 @@ WpTestFuncResult test_str8_split(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running1) {
Str8 *node = wapp_dbl_list_get(Str8, list1, index1);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list1, index1);
result = result && wapp_str8_equal(node, &(splits1[index1]));
++index1;
@@ -453,7 +453,7 @@ WpTestFuncResult test_str8_split(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running2) {
Str8 *node = wapp_dbl_list_get(Str8, list2, index2);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list2, index2);
result = result && wapp_str8_equal(node, &(splits2[index2]));
++index2;
@@ -469,11 +469,11 @@ WpTestFuncResult test_str8_split_with_max(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim = wapp_str8_lit(" ");
Str8List *list = wapp_str8_split_with_max(&arena, &str, &delim, 2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim = wapp_str8_lit(" ");
WpStr8List *list = wapp_str8_split_with_max(&arena, &str, &delim, 2);
Str8RO splits[] = {
WpStr8RO splits[] = {
wapp_str8_slice(&str, 0, 5),
wapp_str8_slice(&str, 6, 11),
wapp_str8_slice(&str, 12, 19),
@@ -488,7 +488,7 @@ WpTestFuncResult test_str8_split_with_max(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running) {
Str8 *node = wapp_dbl_list_get(Str8, list, index);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list, index);
result = result && wapp_str8_equal(node, &(splits[index]));
++index;
@@ -504,19 +504,19 @@ WpTestFuncResult test_str8_rsplit(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim1 = wapp_str8_lit(" ");
Str8 delim2 = wapp_str8_lit("from");
Str8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
Str8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim1 = wapp_str8_lit(" ");
WpStr8 delim2 = wapp_str8_lit("from");
WpStr8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
WpStr8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
Str8RO splits1[] = {
WpStr8RO splits1[] = {
wapp_str8_slice(&str, 0, 5),
wapp_str8_slice(&str, 6, 11),
wapp_str8_slice(&str, 12, 16),
wapp_str8_slice(&str, 17, 19),
};
Str8RO splits2[] = {
WpStr8RO splits2[] = {
wapp_str8_slice(&str, 0, 12),
wapp_str8_slice(&str, 16, 19),
};
@@ -535,7 +535,7 @@ WpTestFuncResult test_str8_rsplit(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running1) {
Str8 *node = wapp_dbl_list_get(Str8, list1, index1);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list1, index1);
result = result && wapp_str8_equal(node, &(splits1[index1]));
++index1;
@@ -545,7 +545,7 @@ WpTestFuncResult test_str8_rsplit(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running2) {
Str8 *node = wapp_dbl_list_get(Str8, list2, index2);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list2, index2);
result = result && wapp_str8_equal(node, &(splits2[index2]));
++index2;
@@ -561,11 +561,11 @@ WpTestFuncResult test_str8_rsplit_with_max(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim = wapp_str8_lit(" ");
Str8List *list = wapp_str8_rsplit_with_max(&arena, &str, &delim, 2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim = wapp_str8_lit(" ");
WpStr8List *list = wapp_str8_rsplit_with_max(&arena, &str, &delim, 2);
Str8RO splits[] = {
WpStr8RO splits[] = {
wapp_str8_slice(&str, 0, 11),
wapp_str8_slice(&str, 12, 16),
wapp_str8_slice(&str, 17, 19),
@@ -580,7 +580,7 @@ WpTestFuncResult test_str8_rsplit_with_max(void) {
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
// MSVC Spectre mitigation warnings
while (running) {
Str8 *node = wapp_dbl_list_get(Str8, list, index);
WpStr8 *node = wapp_dbl_list_get(WpStr8, list, index);
result = result && wapp_str8_equal(node, &(splits[index]));
++index;
@@ -596,13 +596,13 @@ WpTestFuncResult test_str8_join(void) {
b8 result;
Allocator arena = wapp_mem_arena_allocator_init(KiB(100));
Str8 str = wapp_str8_lit("hello world from me");
Str8 delim1 = wapp_str8_lit(" ");
Str8 delim2 = wapp_str8_lit("from");
Str8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
Str8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
Str8 *join1 = wapp_str8_join(&arena, list1, &delim1);
Str8 *join2 = wapp_str8_join(&arena, list2, &delim2);
WpStr8 str = wapp_str8_lit("hello world from me");
WpStr8 delim1 = wapp_str8_lit(" ");
WpStr8 delim2 = wapp_str8_lit("from");
WpStr8List *list1 = wapp_str8_rsplit(&arena, &str, &delim1);
WpStr8List *list2 = wapp_str8_rsplit(&arena, &str, &delim2);
WpStr8 *join1 = wapp_str8_join(&arena, list1, &delim1);
WpStr8 *join2 = wapp_str8_join(&arena, list2, &delim2);
result = join1->size == str.size && wapp_str8_equal(join1, &str);
result = result && join2->size == str.size && wapp_str8_equal(join2, &str);
@@ -615,8 +615,8 @@ WpTestFuncResult test_str8_join(void) {
WpTestFuncResult test_str8_from_bytes(void) {
b8 result;
Str8 str = wapp_str8_buf(1024);
Str8 expected = wapp_str8_lit_ro("WAPP");
WpStr8 str = wapp_str8_buf(1024);
WpStr8 expected = wapp_str8_lit_ro("WAPP");
U8Array bytes = wapp_array(u8, 'W', 'A', 'P', 'P');
wapp_str8_from_bytes(&str, bytes);
+102 -102
View File
@@ -4,33 +4,33 @@
WpTestFuncResult test_str8_list_get(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_get(Str8, &list, 0);
WpStr8 *node = wapp_dbl_list_get(WpStr8, &list, 0);
result = node == &s1 && wapp_str8_equal(node, &s1);
node = wapp_dbl_list_get(Str8, &list, 1);
node = wapp_dbl_list_get(WpStr8, &list, 1);
result = result && node == &s2 && wapp_str8_equal(node, &s2);
node = wapp_dbl_list_get(Str8, &list, 2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
result = result && node == &s3 && wapp_str8_equal(node, &s3);
node = wapp_dbl_list_get(Str8, &list, 3);
node = wapp_dbl_list_get(WpStr8, &list, 3);
result = result && node == &s4 && wapp_str8_equal(node, &s4);
node = wapp_dbl_list_get(Str8, &list, 4);
node = wapp_dbl_list_get(WpStr8, &list, 4);
result = result && node == &s5 && wapp_str8_equal(node, &s5);
return wpTesterResult(result);
@@ -39,19 +39,19 @@ WpTestFuncResult test_str8_list_get(void) {
WpTestFuncResult test_str8_list_push_front(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_front(Str8, &list, &s1);
wapp_dbl_list_push_front(WpStr8, &list, &s1);
result = list.first == list.last && list.first->item == &s1 && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_front(Str8, &list, &s2);
wapp_dbl_list_push_front(WpStr8, &list, &s2);
result = result && list.first->item == &s2 && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_front(Str8, &list, &s3);
wapp_dbl_list_push_front(WpStr8, &list, &s3);
result = result && list.first->item == &s3 && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -60,19 +60,19 @@ WpTestFuncResult test_str8_list_push_front(void) {
WpTestFuncResult test_str8_list_push_back(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
result = list.first == list.last && list.last->item == &s1 && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
result = result && list.last->item == &s2 && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
result = result && list.last->item == &s3 && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -81,28 +81,28 @@ WpTestFuncResult test_str8_list_push_back(void) {
WpTestFuncResult test_str8_list_insert(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
Str8 s6 = wapp_str8_lit("6");
Str8 s7 = wapp_str8_lit("7");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
WpStr8 s6 = wapp_str8_lit("6");
WpStr8 s7 = wapp_str8_lit("7");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node;
wapp_dbl_list_insert(Str8, &list, &s6, 2);
node = wapp_dbl_list_get(Str8, &list, 2);
WpStr8 *node;
wapp_dbl_list_insert(WpStr8, &list, &s6, 2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
result = node != NULL && node == &s6 && wapp_str8_list_total_size(&list) == 6 && list.node_count == 6;
wapp_dbl_list_insert(Str8, &list, &s7, 5);
node = wapp_dbl_list_get(Str8, &list, 5);
wapp_dbl_list_insert(WpStr8, &list, &s7, 5);
node = wapp_dbl_list_get(WpStr8, &list, 5);
result = result && node != NULL && node == &s7 && wapp_str8_list_total_size(&list) == 7 && list.node_count == 7;
return wpTesterResult(result);
@@ -111,33 +111,33 @@ WpTestFuncResult test_str8_list_insert(void) {
WpTestFuncResult test_str8_list_pop_front(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_pop_front(Str8, &list);
WpStr8 *node = wapp_dbl_list_pop_front(WpStr8, &list);
result = node == &s1 && wapp_str8_equal(node, &s1) && wapp_str8_list_total_size(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s2 && wapp_str8_equal(node, &s2) && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s3 && wapp_str8_equal(node, &s3) && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s4 && wapp_str8_equal(node, &s4) && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s5 && wapp_str8_equal(node, &s5) && wapp_str8_list_total_size(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -146,33 +146,33 @@ WpTestFuncResult test_str8_list_pop_front(void) {
WpTestFuncResult test_str8_list_pop_back(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_front(Str8, &list, &s1);
wapp_dbl_list_push_front(Str8, &list, &s2);
wapp_dbl_list_push_front(Str8, &list, &s3);
wapp_dbl_list_push_front(Str8, &list, &s4);
wapp_dbl_list_push_front(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_pop_back(Str8, &list);
WpStr8 *node = wapp_dbl_list_pop_back(WpStr8, &list);
result = node == &s1 && wapp_str8_equal(node, &s1) && wapp_str8_list_total_size(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s2 && wapp_str8_equal(node, &s2) && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s3 && wapp_str8_equal(node, &s3) && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s4 && wapp_str8_equal(node, &s4) && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s5 && wapp_str8_equal(node, &s5) && wapp_str8_list_total_size(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -181,33 +181,33 @@ WpTestFuncResult test_str8_list_pop_back(void) {
WpTestFuncResult test_str8_list_remove(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_remove(Str8, &list, 0);
WpStr8 *node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = node == &s1 && wapp_str8_equal(node, &s1) && wapp_str8_list_total_size(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s2 && wapp_str8_equal(node, &s2) && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s3 && wapp_str8_equal(node, &s3) && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s4 && wapp_str8_equal(node, &s4) && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s5 && wapp_str8_equal(node, &s5) && wapp_str8_list_total_size(&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;
Str8List list = wapp_dbl_list(Str8);
wapp_dbl_list_push_back(Str8, &list, &wapp_str8_lit("Hello"));
wapp_dbl_list_push_back(Str8, &list, &wapp_str8_lit("from"));
wapp_dbl_list_push_back(Str8, &list, &wapp_str8_lit("wizapp"));
wapp_dbl_list_push_back(Str8, &list, &wapp_str8_lit("stdlib"));
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(WpStr8, &list, &wapp_str8_lit("Hello"));
wapp_dbl_list_push_back(WpStr8, &list, &wapp_str8_lit("from"));
wapp_dbl_list_push_back(WpStr8, &list, &wapp_str8_lit("wizapp"));
wapp_dbl_list_push_back(WpStr8, &list, &wapp_str8_lit("stdlib"));
wapp_dbl_list_empty(Str8, &list);
wapp_dbl_list_empty(WpStr8, &list);
result = list.first == NULL && list.last == NULL && list.node_count == 0 && wapp_str8_list_total_size(&list) == 0;
+106 -106
View File
@@ -4,33 +4,33 @@
WpTestFuncResult test_str8_list_get(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_get(Str8, &list, 0);
WpStr8 *node = wapp_dbl_list_get(WpStr8, &list, 0);
result = node == &s1 && wapp_str8_equal(node, &s1);
node = wapp_dbl_list_get(Str8, &list, 1);
node = wapp_dbl_list_get(WpStr8, &list, 1);
result = result && node == &s2 && wapp_str8_equal(node, &s2);
node = wapp_dbl_list_get(Str8, &list, 2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
result = result && node == &s3 && wapp_str8_equal(node, &s3);
node = wapp_dbl_list_get(Str8, &list, 3);
node = wapp_dbl_list_get(WpStr8, &list, 3);
result = result && node == &s4 && wapp_str8_equal(node, &s4);
node = wapp_dbl_list_get(Str8, &list, 4);
node = wapp_dbl_list_get(WpStr8, &list, 4);
result = result && node == &s5 && wapp_str8_equal(node, &s5);
return wpTesterResult(result);
@@ -39,19 +39,19 @@ WpTestFuncResult test_str8_list_get(void) {
WpTestFuncResult test_str8_list_push_front(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_front(Str8, &list, &s1);
wapp_dbl_list_push_front(WpStr8, &list, &s1);
result = list.first == list.last && list.first->item == &s1 && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_front(Str8, &list, &s2);
wapp_dbl_list_push_front(WpStr8, &list, &s2);
result = result && list.first->item == &s2 && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_front(Str8, &list, &s3);
wapp_dbl_list_push_front(WpStr8, &list, &s3);
result = result && list.first->item == &s3 && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -60,19 +60,19 @@ WpTestFuncResult test_str8_list_push_front(void) {
WpTestFuncResult test_str8_list_push_back(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(WpStr8, &list, &s1);
result = list.first == list.last && list.last->item == &s1 && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(WpStr8, &list, &s2);
result = result && list.last->item == &s2 && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(WpStr8, &list, &s3);
result = result && list.last->item == &s3 && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
return wpTesterResult(result);
@@ -81,28 +81,28 @@ WpTestFuncResult test_str8_list_push_back(void) {
WpTestFuncResult test_str8_list_insert(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
Str8 s6 = wapp_str8_lit("6");
Str8 s7 = wapp_str8_lit("7");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
WpStr8 s6 = wapp_str8_lit("6");
WpStr8 s7 = wapp_str8_lit("7");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node;
wapp_dbl_list_insert(Str8, &list, &s6, 2);
node = wapp_dbl_list_get(Str8, &list, 2);
WpStr8 *node;
wapp_dbl_list_insert(WpStr8, &list, &s6, 2);
node = wapp_dbl_list_get(WpStr8, &list, 2);
result = node != NULL && node == &s6 && wapp_str8_list_total_size(&list) == 6 && list.node_count == 6;
wapp_dbl_list_insert(Str8, &list, &s7, 5);
node = wapp_dbl_list_get(Str8, &list, 5);
wapp_dbl_list_insert(WpStr8, &list, &s7, 5);
node = wapp_dbl_list_get(WpStr8, &list, 5);
result = result && node != NULL && node == &s7 && wapp_str8_list_total_size(&list) == 7 && list.node_count == 7;
return wpTesterResult(result);
@@ -111,33 +111,33 @@ WpTestFuncResult test_str8_list_insert(void) {
WpTestFuncResult test_str8_list_pop_front(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_pop_front(Str8, &list);
WpStr8 *node = wapp_dbl_list_pop_front(WpStr8, &list);
result = node == &s1 && wapp_str8_equal(node, &s1) && wapp_str8_list_total_size(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s2 && wapp_str8_equal(node, &s2) && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s3 && wapp_str8_equal(node, &s3) && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s4 && wapp_str8_equal(node, &s4) && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_front(Str8, &list);
node = wapp_dbl_list_pop_front(WpStr8, &list);
result = result && node == &s5 && wapp_str8_equal(node, &s5) && wapp_str8_list_total_size(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -146,33 +146,33 @@ WpTestFuncResult test_str8_list_pop_front(void) {
WpTestFuncResult test_str8_list_pop_back(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_front(Str8, &list, &s1);
wapp_dbl_list_push_front(Str8, &list, &s2);
wapp_dbl_list_push_front(Str8, &list, &s3);
wapp_dbl_list_push_front(Str8, &list, &s4);
wapp_dbl_list_push_front(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_pop_back(Str8, &list);
WpStr8 *node = wapp_dbl_list_pop_back(WpStr8, &list);
result = node == &s1 && wapp_str8_equal(node, &s1) && wapp_str8_list_total_size(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s2 && wapp_str8_equal(node, &s2) && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s3 && wapp_str8_equal(node, &s3) && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s4 && wapp_str8_equal(node, &s4) && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_pop_back(Str8, &list);
node = wapp_dbl_list_pop_back(WpStr8, &list);
result = result && node == &s5 && wapp_str8_equal(node, &s5) && wapp_str8_list_total_size(&list) == 0 && list.node_count == 0;
return wpTesterResult(result);
@@ -181,33 +181,33 @@ WpTestFuncResult test_str8_list_pop_back(void) {
WpTestFuncResult test_str8_list_remove(void) {
b8 result;
Str8 s1 = wapp_str8_lit("1");
Str8 s2 = wapp_str8_lit("2");
Str8 s3 = wapp_str8_lit("3");
Str8 s4 = wapp_str8_lit("4");
Str8 s5 = wapp_str8_lit("5");
WpStr8 s1 = wapp_str8_lit("1");
WpStr8 s2 = wapp_str8_lit("2");
WpStr8 s3 = wapp_str8_lit("3");
WpStr8 s4 = wapp_str8_lit("4");
WpStr8 s5 = wapp_str8_lit("5");
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
wapp_dbl_list_push_back(Str8, &list, &s1);
wapp_dbl_list_push_back(Str8, &list, &s2);
wapp_dbl_list_push_back(Str8, &list, &s3);
wapp_dbl_list_push_back(Str8, &list, &s4);
wapp_dbl_list_push_back(Str8, &list, &s5);
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);
Str8 *node = wapp_dbl_list_remove(Str8, &list, 0);
WpStr8 *node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = node == &s1 && wapp_str8_equal(node, &s1) && wapp_str8_list_total_size(&list) == 4 && list.node_count == 4;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s2 && wapp_str8_equal(node, &s2) && wapp_str8_list_total_size(&list) == 3 && list.node_count == 3;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s3 && wapp_str8_equal(node, &s3) && wapp_str8_list_total_size(&list) == 2 && list.node_count == 2;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s4 && wapp_str8_equal(node, &s4) && wapp_str8_list_total_size(&list) == 1 && list.node_count == 1;
node = wapp_dbl_list_remove(Str8, &list, 0);
node = wapp_dbl_list_remove(WpStr8, &list, 0);
result = result && node == &s5 && wapp_str8_equal(node, &s5) && wapp_str8_list_total_size(&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;
Str8List list = wapp_dbl_list(Str8);
WpStr8List list = wapp_dbl_list(WpStr8);
Str8 hello = wapp_str8_lit("Hello");
wapp_dbl_list_push_back(Str8, &list, &hello);
WpStr8 hello = wapp_str8_lit("Hello");
wapp_dbl_list_push_back(WpStr8, &list, &hello);
Str8 from = wapp_str8_lit("from");
wapp_dbl_list_push_back(Str8, &list, &from);
WpStr8 from = wapp_str8_lit("from");
wapp_dbl_list_push_back(WpStr8, &list, &from);
Str8 wizapp = wapp_str8_lit("wizapp");
wapp_dbl_list_push_back(Str8, &list, &wizapp);
WpStr8 wizapp = wapp_str8_lit("wizapp");
wapp_dbl_list_push_back(WpStr8, &list, &wizapp);
Str8 stdlib = wapp_str8_lit("stdlib");
wapp_dbl_list_push_back(Str8, &list, &stdlib);
WpStr8 stdlib = wapp_str8_lit("stdlib");
wapp_dbl_list_push_back(WpStr8, &list, &stdlib);
wapp_dbl_list_empty(Str8, &list);
wapp_dbl_list_empty(WpStr8, &list);
result = list.first == NULL && list.last == NULL && list.node_count == 0 && wapp_str8_list_total_size(&list) == 0;