From: Zhiyi Zhang zzhang@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47766 Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Jeff Smith whydoubt@gmail.com --- dlls/kernelbase/tests/path.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)
diff --git a/dlls/kernelbase/tests/path.c b/dlls/kernelbase/tests/path.c index b5da303629..d7492a1e9f 100644 --- a/dlls/kernelbase/tests/path.c +++ b/dlls/kernelbase/tests/path.c @@ -72,6 +72,7 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] = {"\\?C:a", "\\?C:a", 0, S_OK},
/* No . */ + {"*", "*", 0, S_OK}, {"", "\", 0, S_OK}, {"C:", "C:", 0, S_OK}, {"C:\", "C:\", 0, S_OK}, @@ -85,17 +86,26 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] = {"*.", "*.", 0, S_OK}, {"*..", "*.", 0, S_OK}, {"*...", "*.", 0, S_OK}, + {"*....", "*.", 0, S_OK}, + {".a", ".a", 0, S_OK}, {"a.", "a", 0, S_OK}, + {".a.", ".a", 0, S_OK}, {"a.b", "a.b", 0, S_OK}, + {".a.b.", ".a.b", 0, S_OK}, {"a\.", "a", 0, S_OK}, {"a\.\b", "a\b", 0, S_OK}, + {":.", ":", 0, S_OK}, {"C:.", "C:\", 0, S_OK}, + {"C:.\", "C:.\", 0, S_OK}, + {"C:.\.", "C:\", 0, S_OK}, {"C:\.", "C:\", 0, S_OK}, {"C:\.\", "C:\", 0, S_OK}, {"C:\a.", "C:\a", 0, S_OK}, + {"C:\.a", "C:\.a", 0, S_OK}, {"C:\a\.", "C:\a", 0, S_OK}, {"C:\a\\.", "C:\a\", 0, S_OK}, {"C:\a\\\.", "C:\a\\", 0, S_OK}, + {".\", "\", 0, S_OK}, {"\.", "\", 0, S_OK}, {"\\.", "\\", 0, S_OK}, {"\\.\", "\\", 0, S_OK}, @@ -115,21 +125,42 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] = "\\?\Volume{e51a1864-6f2d-4019-b73d-f4e60e600c26}\", 0, S_OK},
/* .. */ + {"..a", "..a", 0, S_OK}, + {"...a", "...a", 0, S_OK}, + {"....a", "....a", 0, S_OK}, {"a..", "a", 0, S_OK}, + {"a...", "a", 0, S_OK}, + {"a....", "a", 0, S_OK}, + {"..a..", "..a", 0, S_OK}, {"a..b", "a..b", 0, S_OK}, + {"..a..b..", "..a..b", 0, S_OK}, {"a\..", "\", 0, S_OK}, {"a\..\", "\", 0, S_OK}, {"a\..\b", "\b", 0, S_OK}, + {":..", ":", 0, S_OK}, {"C:..", "C:\", 0, S_OK}, + {"C:...", "C:\", 0, S_OK}, + {"C:..\", "C:..\", 0, S_OK}, + {"C:..\\", "C:..\\", 0, S_OK}, + {"C:...\", "C:...\", 0, S_OK}, {"C:\..", "C:\", 0, S_OK}, + {"C:\..a", "C:\..a", 0, S_OK}, + {"C:\...a", "C:\...a", 0, S_OK}, + {"C:\....a", "C:\....a", 0, S_OK}, + {"C:\a..", "C:\a", 0, S_OK}, {"C:\\..", "C:\", 0, S_OK}, {"C:\..\", "C:\", 0, S_OK}, + {"C:\...\", "C:\...\", 0, S_OK}, {"C:\a\..", "C:\", 0, S_OK}, + {"C:\a\b..", "C:\a\b", 0, S_OK}, {"C:\a\\..", "C:\a", 0, S_OK}, {"C:\a\\\..", "C:\a\", 0, S_OK}, {"C:\a\..\b", "C:\b", 0, S_OK}, {"C:\a\..\\b", "C:\\b", 0, S_OK}, + {"..\", "\", 0, S_OK}, + {"...\", "...\", 0, S_OK}, {"\..", "\", 0, S_OK}, + {"\...", "\", 0, S_OK}, {"\\..", "\\", 0, S_OK}, {"\\\..", "\", 0, S_OK}, {"\\..\", "\\", 0, S_OK}, @@ -249,6 +280,8 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] =
/* PATHCCH_DO_NOT_NORMALIZE_SEGMENTS */ /* No effect for spaces */ + {"a ", "a ", 0, S_OK}, + {"C:\a ", "C:\a ", 0, S_OK}, {"C:\a \", "C:\a \", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, {"C:\a\ ", "C:\a\ ", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, {"C:\a ", "C:\a ", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, @@ -265,6 +298,7 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] = {"..", "\", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, {"C:.", "C:.", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, {"C:..", "C:..", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, + {"C:...", "C:...", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, {"C:\a\.", "C:\a", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, {"C:\a\..", "C:\", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK}, {"C:\a.", "C:\a.", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},