diff --git a/lib/std/x/os/net.zig b/lib/std/x/os/net.zig index 2534570c537a430d6ce0da48f3629b1ded088c5d..a8d9f095d3d4beb9a82dc985aa7a857042f7fe1c 100644 --- a/lib/std/x/os/net.zig +++ b/lib/std/x/os/net.zig @@ -532,18 +532,32 @@ test "ipv6: parse & format" { "::1234:5678", "2001:db8::1234:5678", "::ffff:123.5.123.5", + }; + + const outputs = [_][]const u8{ + "ff01::fb", + "ff01::fb", + "::1", + "::", + "2001:db8::", + "::1234:5678", + "2001:db8::1234:5678", + "::ffff:123.5.123.5", + }; + + for (inputs) |input, i| { + try testing.expectFmt(outputs[i], "{}", .{try IPv6.parse(input)}); + } +} + +test "ipv6: parse & format addresses with scope ids" { + if (!@hasDecl(os, "IFNAMESIZE")) return error.SkipZigTest; + + const inputs = [_][]const u8{ "FF01::FB%lo", }; const outputs = [_][]const u8{ - "ff01::fb", - "ff01::fb", - "::1", - "::", - "2001:db8::", - "::1234:5678", - "2001:db8::1234:5678", - "::ffff:123.5.123.5", "ff01::fb%1", };