Module: wine Branch: refs/heads/master Commit: 0476397387714f6ed8e0829a66e372f7ff0c46de URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=0476397387714f6ed8e0829a...
Author: Huw Davies huw@codeweavers.com Date: Wed Aug 9 14:46:20 2006 +0100
shlwapi: Add tests for PathUnquoteSpaces.
---
dlls/shlwapi/tests/path.c | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/dlls/shlwapi/tests/path.c b/dlls/shlwapi/tests/path.c index d55d19d..3d90ada 100644 --- a/dlls/shlwapi/tests/path.c +++ b/dlls/shlwapi/tests/path.c @@ -306,6 +306,22 @@ struct { { "file:partial", FALSE, TRUE } };
+struct { + const char *path; + const char *result; +} TEST_PATH_UNQUOTE_SPACES[] = { + { "abcdef", "abcdef" }, + { ""abcdef"", "abcdef" }, + { ""abcdef", ""abcdef" }, + { "abcdef"", "abcdef"" }, + { """abcdef""", ""abcdef"" }, + { "abc"def", "abc"def" }, + { ""abc"def", ""abc"def" }, + { ""abc"def"", "abc"def" }, + { "'abcdef'", "'abcdef'" }, + { """", "" }, + { """, "" } +};
static LPWSTR GetWideString(const char* szString) { @@ -321,6 +337,15 @@ static void FreeWideString(LPWSTR wszStr HeapFree(GetProcessHeap(), 0, wszString); }
+static LPSTR strdupA(LPCSTR p) +{ + LPSTR ret; + DWORD len = (strlen(p) + 1); + ret = HeapAlloc(GetProcessHeap(), 0, len); + memcpy(ret, p, len); + return ret; +} + static void hash_url(const char* szUrl) { LPCSTR szTestUrl = szUrl; @@ -1757,6 +1782,29 @@ static void test_PathCommonPrefixA(void) ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError()); }
+static void test_PathUnquoteSpaces(void) +{ + int i; + for(i = 0; i < sizeof(TEST_PATH_UNQUOTE_SPACES) / sizeof(TEST_PATH_UNQUOTE_SPACES[0]); i++) + { + char *path = strdupA(TEST_PATH_UNQUOTE_SPACES[i].path); + WCHAR *pathW = GetWideString(TEST_PATH_UNQUOTE_SPACES[i].path); + WCHAR *resultW = GetWideString(TEST_PATH_UNQUOTE_SPACES[i].result); + + PathUnquoteSpacesA(path); + ok(!strcmp(path, TEST_PATH_UNQUOTE_SPACES[i].result), "%s (A): got %s expected %s\n", + TEST_PATH_UNQUOTE_SPACES[i].path, path, + TEST_PATH_UNQUOTE_SPACES[i].result); + + PathUnquoteSpacesW(pathW); + ok(!lstrcmpW(pathW, resultW), "%s (W): strings differ\n", + TEST_PATH_UNQUOTE_SPACES[i].path); + FreeWideString(pathW); + FreeWideString(resultW); + HeapFree(GetProcessHeap(), 0, path); + } +} + START_TEST(path) { hShlwapi = LoadLibraryA("shlwapi.dll"); @@ -1801,4 +1849,5 @@ START_TEST(path) test_PathFindExtensionA(); test_PathBuildRootA(); test_PathCommonPrefixA(); + test_PathUnquoteSpaces(); }