shlwapi: Add tests for PathAddBackslash.
This commit is contained in:
parent
7412bddd36
commit
251d76888d
|
@ -1072,6 +1072,68 @@ static void test_PathCombineA(void)
|
||||||
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_PathAddBackslash(void)
|
||||||
|
{
|
||||||
|
LPSTR str;
|
||||||
|
char path[MAX_PATH];
|
||||||
|
char too_long[LONG_LEN];
|
||||||
|
|
||||||
|
/* try a NULL path */
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
str = PathAddBackslashA(NULL);
|
||||||
|
ok(str == NULL, "Expected str == NULL, got %p\n", str);
|
||||||
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
|
|
||||||
|
/* try an empty path */
|
||||||
|
path[0] = '\0';
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
str = PathAddBackslashA(path);
|
||||||
|
ok(str == (path + lstrlenA(path)), "Expected str to point to end of path, got %p\n", str);
|
||||||
|
ok(lstrlenA(path) == 0, "Expected empty string, got %i\n", lstrlenA(path));
|
||||||
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
|
|
||||||
|
/* try a relative path */
|
||||||
|
lstrcpyA(path, "one\\two");
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
str = PathAddBackslashA(path);
|
||||||
|
ok(str == (path + lstrlenA(path)), "Expected str to point to end of path, got %p\n", str);
|
||||||
|
ok(!lstrcmp(path, "one\\two\\"), "Expected one\\two\\, got %s\n", path);
|
||||||
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
|
|
||||||
|
/* try periods */
|
||||||
|
lstrcpyA(path, "one\\..\\two");
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
str = PathAddBackslashA(path);
|
||||||
|
ok(str == (path + lstrlenA(path)), "Expected str to point to end of path, got %p\n", str);
|
||||||
|
ok(!lstrcmp(path, "one\\..\\two\\"), "Expected one\\..\\two\\, got %s\n", path);
|
||||||
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
|
|
||||||
|
/* try just a space */
|
||||||
|
lstrcpyA(path, " ");
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
str = PathAddBackslashA(path);
|
||||||
|
ok(str == (path + lstrlenA(path)), "Expected str to point to end of path, got %p\n", str);
|
||||||
|
ok(!lstrcmp(path, " \\"), "Expected \\, got %s\n", path);
|
||||||
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
|
|
||||||
|
/* path already has backslash */
|
||||||
|
lstrcpyA(path, "C:\\one\\");
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
str = PathAddBackslashA(path);
|
||||||
|
ok(str == (path + lstrlenA(path)), "Expected str to point to end of path, got %p\n", str);
|
||||||
|
ok(!lstrcmp(path, "C:\\one\\"), "Expected C:\\one\\, got %s\n", path);
|
||||||
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
|
|
||||||
|
memset(too_long, 'a', LONG_LEN);
|
||||||
|
too_long[LONG_LEN - 1] = '\0';
|
||||||
|
|
||||||
|
/* path is longer than MAX_PATH */
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
str = PathAddBackslashA(too_long);
|
||||||
|
ok(str == NULL, "Expected str == NULL, got %p\n", str);
|
||||||
|
ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(path)
|
START_TEST(path)
|
||||||
{
|
{
|
||||||
hShlwapi = LoadLibraryA("shlwapi.dll");
|
hShlwapi = LoadLibraryA("shlwapi.dll");
|
||||||
|
@ -1090,6 +1152,7 @@ START_TEST(path)
|
||||||
test_PathCreateFromUrl();
|
test_PathCreateFromUrl();
|
||||||
test_PathIsUrl();
|
test_PathIsUrl();
|
||||||
|
|
||||||
|
test_PathAddBackslash();
|
||||||
test_PathMakePretty();
|
test_PathMakePretty();
|
||||||
test_PathMatchSpec();
|
test_PathMatchSpec();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue