Skip to content

Commit 999a532

Browse files
committed
Adding tests
1 parent 95332e9 commit 999a532

File tree

1 file changed

+28
-7
lines changed

1 file changed

+28
-7
lines changed

src/values_test.zig

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
const std = @import("std");
2-
const url = @import("url.zig");
2+
const URL = @import("url.zig");
3+
34
test "sample1" {
4-
var values: std.StringHashMap(std.ArrayList([]const u8)) = std.StringHashMap(std.ArrayList([]const u8)).init(std.heap.page_allocator);
5+
var values: std.StringHashMap(std.ArrayList([]const u8)) = std.StringHashMap(std.ArrayList([]const u8)).init(std.testing.allocator);
56
defer values.deinit();
6-
7-
var name = std.ArrayList([]const u8).init(std.heap.page_allocator);
7+
var name = std.ArrayList([]const u8).init(std.testing.allocator);
8+
defer name.deinit();
89
try name.append("Ava");
910

10-
var friend = std.ArrayList([]const u8).init(std.heap.page_allocator);
11+
var friend = std.ArrayList([]const u8).init(std.testing.allocator);
12+
defer friend.deinit();
1113
try friend.append("Jess");
1214
try friend.append("Sarah");
1315
try friend.append("Zoe");
@@ -29,11 +31,30 @@ test "sample1" {
2931

3032
test "sample2" {
3133
const text = "name=Ava&friend=Jess&friend=Sarah&friend=Zoe";
32-
var values: std.StringHashMap(std.ArrayList([]const u8)) = std.StringHashMap(std.ArrayList([]const u8)).init(std.heap.page_allocator);
34+
var values: std.StringHashMap(std.ArrayList([]const u8)) = std.StringHashMap(std.ArrayList([]const u8)).init(std.testing.allocator);
3335
defer values.deinit();
34-
try url.parseQuery(&values, text);
36+
try URL.parseQuery(&values, text);
3537
try std.testing.expectEqualStrings("Ava", values.get("name").?.items[0]);
3638
try std.testing.expectEqualStrings("Jess", values.get("friend").?.items[0]);
3739
try std.testing.expectEqualStrings("Sarah", values.get("friend").?.items[1]);
3840
try std.testing.expectEqualStrings("Zoe", values.get("friend").?.items[2]);
3941
}
42+
43+
test "sample3" {
44+
const text = "https://example.org/?a=1&a=2&b=&=3&&&&";
45+
var url = URL.init(.{});
46+
const result = try url.parseUri(text);
47+
48+
const values = result.values.?;
49+
50+
const a1 = values.get("a").?.items[0];
51+
const a2 = values.get("a").?.items[1];
52+
try std.testing.expectEqual(2, values.get("a").?.items.len);
53+
try std.testing.expectEqualStrings("1", a1);
54+
try std.testing.expectEqualStrings("2", a2);
55+
56+
try std.testing.expectEqualStrings("", values.get("b").?.items[0]);
57+
const v3 = values.get("").?;
58+
try std.testing.expectEqual(1, v3.items.len);
59+
try std.testing.expectEqualStrings("3", v3.items[0]);
60+
}

0 commit comments

Comments
 (0)