# HG changeset patch # User Olaf Wintermann # Date 1764700529 -3600 # Node ID 205d41b19a13db32381fab6386c9e97fc1ca26ce # Parent ffbc5076b4bf8d745eb81628e6d9439b1e0b4886 add test for rewrite_rule_create diff -r ffbc5076b4bf -r 205d41b19a13 src/server/test/main.c --- a/src/server/test/main.c Mon Dec 01 21:21:54 2025 +0100 +++ b/src/server/test/main.c Tue Dec 02 19:35:29 2025 +0100 @@ -149,6 +149,7 @@ cx_test_register(suite, test_string_template_build_string); // rewrite tests + cx_test_register(suite, test_rewrite_rule_create); cx_test_register(suite, test_rewrite_url_no_regex); // xml tests diff -r ffbc5076b4bf -r 205d41b19a13 src/server/test/rewrite.c --- a/src/server/test/rewrite.c Mon Dec 01 21:21:54 2025 +0100 +++ b/src/server/test/rewrite.c Tue Dec 02 19:35:29 2025 +0100 @@ -32,6 +32,27 @@ #include #include +CX_TEST(test_rewrite_rule_create) { + CxMempool *mp = cxMempoolCreate(100, CX_MEMPOOL_TYPE_ADVANCED); + const CxAllocator *a = mp->allocator; + + CX_TEST_DO { + RewriteRule *rule = rewrite_rule_create(a, cx_mutstr(NULL), cx_mutstr("/rewrite")); + CX_TEST_ASSERT(rule != NULL); + CX_TEST_ASSERT(!rule->has_regex); + CX_TEST_ASSERT(rule->url != NULL); + + cxmutstr newuri = string_template_build_string(rule->url, a, NULL, NULL); + CX_TEST_ASSERT(!cx_strcmp(newuri, "/rewrite")); + + RewriteRule *rule2 = rewrite_rule_create(a, cx_mutstr("/path/(.*)/files/"), cx_mutstr("/rewrite/$1/")); + CX_TEST_ASSERT(rule2 != NULL); + CX_TEST_ASSERT(rule2->has_regex); + CX_TEST_ASSERT(rule2->url != NULL); + } + + cxMempoolFree(mp); +} CX_TEST(test_rewrite_url_no_regex) { CxMempool *mp = cxMempoolCreate(100, CX_MEMPOOL_TYPE_ADVANCED); diff -r ffbc5076b4bf -r 205d41b19a13 src/server/test/rewrite.h --- a/src/server/test/rewrite.h Mon Dec 01 21:21:54 2025 +0100 +++ b/src/server/test/rewrite.h Tue Dec 02 19:35:29 2025 +0100 @@ -35,6 +35,7 @@ extern "C" { #endif +CX_TEST(test_rewrite_rule_create); CX_TEST(test_rewrite_url_no_regex);