comparison dowa/dowa_test.c @ 264:04fee26ecce0

add authenticated JRPG conversation platform Add reusable auth/session storage, owned conversation recovery, guest quotas, admin workflows, URL-routed conversation UI, mobile frame support, and parallel browser acceptance. Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Fri, 07 Aug 2026 07:34:12 -0700
parents 1f9877b637e9
children
comparison
equal deleted inserted replaced
263:ee04e4e69fed 264:04fee26ecce0
345 uint32 random_number2 = Dowa_Math_Random_Uint32(random_number); 345 uint32 random_number2 = Dowa_Math_Random_Uint32(random_number);
346 printf("randon_number 1: %i\n", random_number); 346 printf("randon_number 1: %i\n", random_number);
347 printf("randon_number 2: %i\n", random_number2); 347 printf("randon_number 2: %i\n", random_number2);
348 } 348 }
349 349
350 /* --- Malformed JSON regression tests --- */
351 {
352 Dowa_Arena *a = Dowa_Arena_Create(1024);
353 const char *s = "{\"username\":[x]}";
354 Dowa_JSON_Value v = Dowa_JSON_Parse(s, (int32)strlen(s), a);
355 assert(v.type == DOWA_JSON_OBJECT);
356 Dowa_JSON_Value *uv = Dowa_JSON_Get(v.object_val, "username");
357 assert(uv && uv->type == DOWA_JSON_ARRAY);
358 Dowa_Arena_Free(a);
359 }
360 {
361 Dowa_Arena *a = Dowa_Arena_Create(1024);
362 const char *s = "xyz";
363 Dowa_JSON_Value v = Dowa_JSON_Parse(s, (int32)strlen(s), a);
364 assert(v.type == DOWA_JSON_NULL);
365 Dowa_Arena_Free(a);
366 }
367 {
368 Dowa_Arena *a = Dowa_Arena_Create(1024);
369 const char *s = "[x, y, z]";
370 Dowa_JSON_Value v = Dowa_JSON_Parse(s, (int32)strlen(s), a);
371 assert(v.type == DOWA_JSON_ARRAY);
372 Dowa_Arena_Free(a);
373 }
374 {
375 Dowa_Arena *a = Dowa_Arena_Create(1024);
376 const char *s = "{\"a\":x,\"b\":\"ok\"}";
377 Dowa_JSON_Value v = Dowa_JSON_Parse(s, (int32)strlen(s), a);
378 assert(v.type == DOWA_JSON_OBJECT);
379 char *b = Dowa_JSON_Get_String(v.object_val, "b");
380 assert(b && strcmp(b, "ok") == 0);
381 Dowa_Arena_Free(a);
382 }
383 {
384 Dowa_Arena *a = Dowa_Arena_Create(1024);
385 const char *s = "{\"a\":\"unclosed";
386 Dowa_JSON_Value v = Dowa_JSON_Parse(s, (int32)strlen(s), a);
387 assert(v.type == DOWA_JSON_OBJECT);
388 Dowa_Arena_Free(a);
389 }
390
350 printf("=== All tests passed! ===\n"); 391 printf("=== All tests passed! ===\n");
351 return 0; 392 return 0;
352 } 393 }