src/server/test/httpparser.c

changeset 663
bd116bd44926
parent 662
70fdf948b642
--- a/src/server/test/httpparser.c	Fri Feb 06 14:06:04 2026 +0100
+++ b/src/server/test/httpparser.c	Fri Feb 06 14:16:09 2026 +0100
@@ -99,6 +99,14 @@
         parser.start_line = cx_mutstr("GET /uri HTTP/1.1 test\r\n");
         int nret6 = parse_request_line(&parser);
         CX_TEST_ASSERT(nret6);
+        
+        parser.start_line = cx_mutstr("    /uri2 HTTP/1.1\r\n");
+        int nret7 = parse_request_line(&parser);
+        CX_TEST_ASSERT(nret7);
+        
+        parser.start_line = cx_mutstr("GET        HTTP/1.1\r\n");
+        int nret8 = parse_request_line(&parser);
+        CX_TEST_ASSERT(nret8);
     }
 }
 
@@ -132,5 +140,42 @@
         CX_TEST_ASSERT(!cx_strcmp(parser.httpv, "HTTP/0.9"));
         CX_TEST_ASSERT(!cx_strcmp(parser.msg, "No Content"));
         CX_TEST_ASSERT(parser.status == 204);
+        
+        // negative tests
+        memset(&parser, 0, sizeof(HttpParser));
+        parser.start_line = cx_mutstr("HTTP/1.1 200\r\n");
+        parser.type = 1;
+        int nret1 = parse_response_line(&parser);
+        CX_TEST_ASSERT(nret1);
+        
+        memset(&parser, 0, sizeof(HttpParser));
+        parser.start_line = cx_mutstr("\r\n");
+        parser.type = 1;
+        int nret2 = parse_response_line(&parser);
+        CX_TEST_ASSERT(nret2);
+        
+        memset(&parser, 0, sizeof(HttpParser));
+        parser.start_line = cx_mutstr("200\r\n");
+        parser.type = 1;
+        int nret3 = parse_response_line(&parser);
+        CX_TEST_ASSERT(nret3);
+        
+        memset(&parser, 0, sizeof(HttpParser));
+        parser.start_line = cx_mutstr("HTTP/1.1 2345 Test Message\r\n");
+        parser.type = 1;
+        int nret4 = parse_response_line(&parser);
+        CX_TEST_ASSERT(nret4);
+        
+        memset(&parser, 0, sizeof(HttpParser));
+        parser.start_line = cx_mutstr("HTTP/1.1 xy1 OK\r\n");
+        parser.type = 1;
+        int nret5 = parse_response_line(&parser);
+        CX_TEST_ASSERT(nret5);
+        
+        memset(&parser, 0, sizeof(HttpParser));
+        parser.start_line = cx_mutstr("   200   OK\r\n");
+        parser.type = 1;
+        int nret6 = parse_response_line(&parser);
+        CX_TEST_ASSERT(nret6);
     }
 }

mercurial