add test for rewrite_rule_create

Tue, 02 Dec 2025 19:35:29 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 02 Dec 2025 19:35:29 +0100
changeset 648
205d41b19a13
parent 647
ffbc5076b4bf
child 649
3887fd7e8bd7

add test for rewrite_rule_create

src/server/test/main.c file | annotate | diff | comparison | revisions
src/server/test/rewrite.c file | annotate | diff | comparison | revisions
src/server/test/rewrite.h file | annotate | diff | comparison | revisions
--- 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
--- 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);
--- 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);
 
 

mercurial