Mercurial
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 } |