From 5a5f27c24c5a3c90f61e9f7669073f017a278c33 Mon Sep 17 00:00:00 2001 From: dravenk Date: Mon, 19 Aug 2024 17:32:19 +0800 Subject: [PATCH] Adding test case --- src/url.zig | 1 + src/url_test.zig | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/url.zig b/src/url.zig index a38bfcf..a767dec 100644 --- a/src/url.zig +++ b/src/url.zig @@ -67,6 +67,7 @@ pub fn parseUrl(self: *URL, text: []const u8) ParseError!*URL { if ((reader.peek() orelse 0) == '?') { // query part std.debug.assert(reader.get().? == '?'); self.query = reader.readUntil(isQuerySeparator); + self.querymap = parseQuery(self.query.?); } if ((reader.peek() orelse 0) == '#') { // fragment part diff --git a/src/url_test.zig b/src/url_test.zig index f92fa3c..a68e3c3 100644 --- a/src/url_test.zig +++ b/src/url_test.zig @@ -81,6 +81,10 @@ test "RFC example 1" { var url = URL.init(.{}); const result = url.parseUrl(text) catch return; try testing.expectEqualStrings("/over/there", result.path); - try testing.expectEqualStrings("name=ferret", result.query.?); + try testing.expectEqualStrings("name=ferret", @constCast(result.query.?)); try testing.expectEqualStrings("nose", result.fragment.?); + + var qm = url.querymap.?; + defer qm.deinit(); + try testing.expectEqualStrings("ferret", qm.get("name").?); }