From 1fe0b84ffc26fab222195b4a451cfda0ff0e9555 Mon Sep 17 00:00:00 2001 From: Peter Beutner Date: Sun, 14 Aug 2016 22:04:49 +0200 Subject: [PATCH] kernel32/tests: Add path tests for double delimiters. Signed-off-by: Peter Beutner Signed-off-by: Alexandre Julliard --- dlls/kernel32/tests/path.c | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/dlls/kernel32/tests/path.c b/dlls/kernel32/tests/path.c index 652051387e6..764141d2aef 100644 --- a/dlls/kernel32/tests/path.c +++ b/dlls/kernel32/tests/path.c @@ -945,6 +945,36 @@ static void test_PathNameA(CHAR *curdir, CHAR curDrive, CHAR otherDrive) test_ShortPathCase(curdir,SHORTDIR,LONGFILE); test_ShortPathCase(curdir,LONGDIR,SHORTFILE); test_ShortPathCase(curdir,LONGDIR,LONGFILE); + + /* test double delimiters */ + sprintf(tmpstr,"%s\\\\%s", SHORTDIR,SHORTFILE); + ok(GetShortPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetShortPathNameA failed\n"); + todo_wine + ok(lstrcmpiA(tmpstr,tmpstr1)==0, + "GetShortPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr); + sprintf(tmpstr,".\\\\%s\\\\%s", SHORTDIR,SHORTFILE); + todo_wine + { + ok(GetShortPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetShortPathNameA failed\n"); + ok(lstrcmpiA(tmpstr,tmpstr1)==0, + "GetShortPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr); + } + + if (pGetLongPathNameA) { + sprintf(tmpstr,"%s\\\\%s",LONGDIR,LONGFILE); + ok(pGetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n"); + todo_wine + ok(lstrcmpiA(tmpstr,tmpstr1)==0, + "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr); + + sprintf(tmpstr,".\\\\%s\\\\%s",LONGDIR,LONGFILE); + todo_wine + { + ok(pGetLongPathNameA(tmpstr,tmpstr1,MAX_PATH),"GetLongPathNameA failed\n"); + ok(lstrcmpiA(tmpstr,tmpstr1)==0, + "GetLongPathNameA returned '%s' instead of '%s'\n",tmpstr1,tmpstr); + } + } } static void test_GetTempPathA(char* tmp_dir) @@ -2170,6 +2200,18 @@ static void test_relative_path(void) ok(ret, "GetShortPathName error %d\n", GetLastError()); ok(!strcmp(buf, ".\\..\\foo\\file"), "expected .\\..\\foo\\file, got %s\n", buf); + /* test double delimiters */ + strcpy(buf, "deadbeef"); + ret = pGetLongPathNameA("..\\\\foo\\file", buf, MAX_PATH); + ok(ret, "GetLongPathName error %d\n", GetLastError()); + todo_wine + ok(!strcmp(buf, "..\\\\foo\\file"), "expected ..\\\\foo\\file, got %s\n", buf); + strcpy(buf, "deadbeef"); + ret = GetShortPathNameA("..\\\\foo\\file", buf, MAX_PATH); + ok(ret, "GetShortPathName error %d\n", GetLastError()); + todo_wine + ok(!strcmp(buf, "..\\\\foo\\file"), "expected ..\\\\foo\\file, got %s\n", buf); + SetCurrentDirectoryA(".."); DeleteFileA("foo\\file"); RemoveDirectoryA("foo");