From efbfa8ef3ebdb172bf3774a54279951ebb29c4c9 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 8 Oct 2023 19:18:21 -0700 Subject: [PATCH] std.fs.path.resolve: add test cases for empty string Since I'm about to rely on this behavior. --- lib/std/fs/path.zig | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/std/fs/path.zig b/lib/std/fs/path.zig index 1f9632b9c1..8457991f59 100644 --- a/lib/std/fs/path.zig +++ b/lib/std/fs/path.zig @@ -728,15 +728,17 @@ pub fn resolvePosix(allocator: Allocator, paths: []const []const u8) Allocator.E } } -test "resolve" { +test resolve { try testResolveWindows(&[_][]const u8{ "a\\b\\c\\", "..\\..\\.." }, "."); try testResolveWindows(&[_][]const u8{"."}, "."); + try testResolveWindows(&[_][]const u8{""}, "."); try testResolvePosix(&[_][]const u8{ "a/b/c/", "../../.." }, "."); try testResolvePosix(&[_][]const u8{"."}, "."); + try testResolvePosix(&[_][]const u8{""}, "."); } -test "resolveWindows" { +test resolveWindows { try testResolveWindows( &[_][]const u8{ "Z:\\", "/usr/local", "lib\\zig\\std\\array_list.zig" }, "Z:\\usr\\local\\lib\\zig\\std\\array_list.zig", @@ -764,7 +766,7 @@ test "resolveWindows" { try testResolveWindows(&[_][]const u8{"a/b"}, "a\\b"); } -test "resolvePosix" { +test resolvePosix { try testResolvePosix(&.{ "/a/b", "c" }, "/a/b/c"); try testResolvePosix(&.{ "/a/b", "c", "//d", "e///" }, "/d/e"); try testResolvePosix(&.{ "/a/b/c", "..", "../" }, "/a");