kernelbase/tests: Add more PathAllocCanonicalize tests.
Contains tests added by Jeff Smith <whydoubt@gmail.com> Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Jeff Smith <whydoubt@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c13a8f60bd
commit
80fd28c7f2
|
@ -72,6 +72,7 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] =
|
||||||
{"\\\\?C:a", "\\\\?C:a", 0, S_OK},
|
{"\\\\?C:a", "\\\\?C:a", 0, S_OK},
|
||||||
|
|
||||||
/* No . */
|
/* No . */
|
||||||
|
{"*", "*", 0, S_OK},
|
||||||
{"", "\\", 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},
|
||||||
|
@ -83,19 +84,41 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] =
|
||||||
{"..", "\\", 0, S_OK},
|
{"..", "\\", 0, S_OK},
|
||||||
{"...", "\\", 0, S_OK},
|
{"...", "\\", 0, S_OK},
|
||||||
{"*.", "*.", 0, S_OK},
|
{"*.", "*.", 0, S_OK},
|
||||||
|
{"*.\\", "*.\\", 0, S_OK},
|
||||||
|
{"*.\\", "*.\\", 0, S_OK},
|
||||||
{"*..", "*.", 0, S_OK},
|
{"*..", "*.", 0, S_OK},
|
||||||
|
{"*..\\", "*..\\", 0, S_OK},
|
||||||
{"*...", "*.", 0, S_OK},
|
{"*...", "*.", 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.", "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.b.", ".a.b", 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\\.b", "a\\.b", 0, S_OK},
|
||||||
|
{"a\\.b\\", "a\\.b\\", 0, S_OK},
|
||||||
|
{":.", ":", 0, S_OK},
|
||||||
|
{"::.", "::\\", 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:\\.\\", "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},
|
||||||
{"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},
|
{"C:\\a\\\\\\.", "C:\\a\\\\", 0, S_OK},
|
||||||
|
{".\\", "\\", 0, S_OK},
|
||||||
{"\\.", "\\", 0, S_OK},
|
{"\\.", "\\", 0, S_OK},
|
||||||
{"\\\\.", "\\\\", 0, S_OK},
|
{"\\\\.", "\\\\", 0, S_OK},
|
||||||
{"\\\\.\\", "\\\\", 0, S_OK},
|
{"\\\\.\\", "\\\\", 0, S_OK},
|
||||||
|
@ -115,21 +138,53 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] =
|
||||||
"\\\\?\\Volume{e51a1864-6f2d-4019-b73d-f4e60e600c26}\\", 0, S_OK},
|
"\\\\?\\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..\\", "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..b..", "..a..b", 0, S_OK},
|
||||||
{"a\\..", "\\", 0, S_OK},
|
{"a\\..", "\\", 0, S_OK},
|
||||||
{"a\\..\\", "\\", 0, S_OK},
|
{"a\\..\\", "\\", 0, S_OK},
|
||||||
{"a\\..\\b", "\\b", 0, S_OK},
|
{"a\\..\\b", "\\b", 0, S_OK},
|
||||||
|
{":..", ":", 0, S_OK},
|
||||||
|
{"::..", "::\\", 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:\\..", "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},
|
||||||
|
{"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:\\..\\", "C:\\", 0, S_OK},
|
||||||
|
{"C:\\...\\", "C:\\...\\", 0, S_OK},
|
||||||
{"C:\\a\\..", "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\\\\\\..", "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},
|
||||||
{"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},
|
||||||
{"\\\\\\..", "\\", 0, S_OK},
|
{"\\\\\\..", "\\", 0, S_OK},
|
||||||
{"\\\\..\\", "\\\\", 0, S_OK},
|
{"\\\\..\\", "\\\\", 0, S_OK},
|
||||||
|
@ -249,6 +304,8 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] =
|
||||||
|
|
||||||
/* PATHCCH_DO_NOT_NORMALIZE_SEGMENTS */
|
/* PATHCCH_DO_NOT_NORMALIZE_SEGMENTS */
|
||||||
/* No effect for spaces */
|
/* 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},
|
{"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},
|
||||||
|
@ -263,8 +320,15 @@ static const struct alloccanonicalize_test alloccanonicalize_tests[] =
|
||||||
{"*..", "*..", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
{"*..", "*..", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
{".", "\\", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
{".", "\\", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
{"..", "\\", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
{"..", "\\", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
|
{":.", ":.", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
|
{"::.", "::.", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
|
{":::.", ":::.", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
|
{":..", ":..", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
|
{"::..", "::..", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
|
{":::..", ":::..", 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:..", "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:\\a", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
{"C:\\a\\..", "C:\\", 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},
|
{"C:\\a.", "C:\\a.", PATHCCH_DO_NOT_NORMALIZE_SEGMENTS, S_OK},
|
||||||
|
|
Loading…
Reference in New Issue