diff dowa/dowa_test.c @ 72:4532ce6d9eb8

[Seobeo] Added router to the server logic. Few dowa string manipulation logics.
author June Park <parkjune1995@gmail.com>
date Mon, 29 Dec 2025 07:50:07 -0800
parents 75de5903355c
children d39e8860a361
line wrap: on
line diff
--- a/dowa/dowa_test.c	Sun Dec 28 20:34:22 2025 -0800
+++ b/dowa/dowa_test.c	Mon Dec 29 07:50:07 2025 -0800
@@ -24,7 +24,7 @@
   strcpy(p_arena_mem2, "data");
   printf("  [Arena Allocate] mem2 = \"%s\"\n", p_arena_mem2);
 
-  Dowa_Arena_Destroy(p_arena);
+  Dowa_Arena_Free(p_arena);
   printf("  [Arena] destroyed\n\n");
 
   // --- Test Array Operations ---
@@ -163,7 +163,7 @@
   for (size_t i = 0; i < map_length; i++)
     printf("    [%zu] '%s' => %d\n", i, p_arena_map[i].key, p_arena_map[i].value);
 
-  Dowa_Arena_Destroy(p_map_arena);
+  Dowa_Arena_Free(p_map_arena);
   printf("  Arena destroyed (including map)\n\n");
 
   // --- Test Array with Arena ---
@@ -181,7 +181,7 @@
     printf(" %d", p_arena_numbers[i]);
   printf("\n");
 
-  Dowa_Arena_Destroy(p_array_arena);
+  Dowa_Arena_Free(p_array_arena);
   printf("  Arena destroyed (including array)\n\n");
 
   // --- Test Medium HashMap (Stress Test) ---
@@ -212,6 +212,38 @@
   Dowa_HashMap_Free(p_large_map);
   printf("  Medium map freed\n\n");
 
+
+  printf("=== String Manipulations === \n\n");
+
+  printf("  Split strings without arena \n\n");
+  {
+    char *from = "june_park_hell";
+    char *token = "_";
+    Dowa_Arena *p_arena = NULL;
+  
+    char **arr = Dowa_String_Split(from, token, strlen(from), 1, p_arena);
+    int32 arr_length = Dowa_Array_Length(arr);
+    printf("arr_length: %i\n", arr_length);
+    for (int32 i = 0; i < arr_length; i++)
+      printf("%s\n", arr[i]);
+    Dowa_Array_Free(arr);
+    if (arr == NULL)
+      printf("Free properly\n");
+  }
+
+  printf("\n  Split strings with arena \n\n");
+  {
+    char *from = "june_park_hell_arena";
+    char *token = "_";
+    Dowa_Arena *p_arena = Dowa_Arena_Create(1024);
+
+    char **arr = Dowa_String_Split(from, token, strlen(from), 1, p_arena);
+    int32 arr_length = Dowa_Array_Length(arr);
+    for (int32 i = 0; i < arr_length; i++)
+      printf("%s\n", arr[i]);
+    Dowa_Arena_Free(p_arena);
+  }
+
   printf("=== All tests passed! ===\n");
   return 0;
 }