Module: wine Branch: master Commit: 8446f5c0a79599c9ba9523197101709f0b5372d4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8446f5c0a79599c9ba95231971...
Author: Austin Lund austin.lund@gmail.com Date: Thu Dec 2 09:34:26 2010 +1000
shell32/tests: Fixed SHPathPrepareForWriteW tests on Asian platforms.
---
dlls/shell32/tests/shlfileop.c | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/dlls/shell32/tests/shlfileop.c b/dlls/shell32/tests/shlfileop.c index 3e9a2e4..a58b4fd 100644 --- a/dlls/shell32/tests/shlfileop.c +++ b/dlls/shell32/tests/shlfileop.c @@ -2065,6 +2065,7 @@ static void test_sh_path_prepare(void) HRESULT res; CHAR path[MAX_PATH]; CHAR UNICODE_PATH_A[MAX_PATH]; + BOOL UsedDefaultChar;
if(!pSHPathPrepareForWriteA) { @@ -2156,7 +2157,19 @@ static void test_sh_path_prepare(void) win_skip("Skipping SHPathPrepareForWriteW tests\n"); return; } - WideCharToMultiByte(CP_ACP, 0, UNICODE_PATH, -1, UNICODE_PATH_A, sizeof(UNICODE_PATH_A), NULL, NULL); + + SetLastError(0xdeadbeef); + UsedDefaultChar = FALSE; + if (WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, UNICODE_PATH, -1, UNICODE_PATH_A, sizeof(UNICODE_PATH_A), NULL, &UsedDefaultChar) == 0) + { + win_skip("Could not convert Unicode path name to multibyte (%d)\n", GetLastError()); + return; + } + if (UsedDefaultChar) + { + win_skip("Could not find unique multibyte representation for directory name using default codepage\n"); + return; + }
/* unicode directory doesn't exist, SHPPFW_NONE */ RemoveDirectoryA(UNICODE_PATH_A);