src/server/test/rewrite.c

changeset 648
205d41b19a13
parent 646
f64ebb0c5fa9
child 651
ed74879c7041
--- 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 <cx/mempool.h>
 #include <string.h>
 
+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);

mercurial