From: Charlotte Pabst cpabst@codeweavers.com
Signed-off-by: Charlotte Pabst cpabst@codeweavers.com --- dlls/comdlg32/tests/itemdlg.c | 57 +++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 19 deletions(-)
diff --git a/dlls/comdlg32/tests/itemdlg.c b/dlls/comdlg32/tests/itemdlg.c index 573a267a37e..b59ce62db2c 100644 --- a/dlls/comdlg32/tests/itemdlg.c +++ b/dlls/comdlg32/tests/itemdlg.c @@ -1328,7 +1328,7 @@ static void touch_file(LPCWSTR filename) CloseHandle(file); }
-static void test_filename_savedlg_(LPCWSTR set_filename, LPCWSTR defext, +static void test_filename_savedlg_(LPCWSTR set_filename, LPCWSTR set_filename2, LPCWSTR defext, const COMDLG_FILTERSPEC *filterspec, UINT fs_count, LPCWSTR exp_filename, const char *file, int line) { @@ -1357,6 +1357,12 @@ static void test_filename_savedlg_(LPCWSTR set_filename, LPCWSTR defext, ok_(file,line)(hr == S_OK, "SetDefaultExtensions failed: Got 0x%08lx\n", hr); }
+ if(set_filename2) + { + hr = IFileSaveDialog_SetFileName(pfsd, set_filename2); + ok_(file,line)(hr == S_OK, "SetFileName failed: Got 0x%08lx\n", hr); + } + pfde = IFileDialogEvents_Constructor(); pfdeimpl = impl_from_IFileDialogEvents(pfde); pfdeimpl->set_filename = set_filename; @@ -1388,10 +1394,11 @@ static void test_filename_savedlg_(LPCWSTR set_filename, LPCWSTR defext,
IFileDialogEvents_Release(pfde); } -#define test_filename_savedlg(set_filename, defext, filterspec, fs_count, exp_filename) \ - test_filename_savedlg_(set_filename, defext, filterspec, fs_count, exp_filename, __FILE__, __LINE__) +#define test_filename_savedlg(set_filename, set_filename2, defext, filterspec, fs_count, exp_filename) \ + test_filename_savedlg_(set_filename, set_filename2, defext, filterspec, fs_count, exp_filename, __FILE__, __LINE__)
-static void test_filename_opendlg_(LPCWSTR set_filename, IShellItem *psi_current, LPCWSTR defext, +static void test_filename_opendlg_(LPCWSTR set_filename, LPCWSTR set_filename2, + IShellItem *psi_current, LPCWSTR defext, const COMDLG_FILTERSPEC *filterspec, UINT fs_count, LPCWSTR exp_filename, const char *file, int line) { @@ -1421,6 +1428,12 @@ static void test_filename_opendlg_(LPCWSTR set_filename, IShellItem *psi_current ok_(file,line)(hr == S_OK, "SetFileTypes failed: Got 0x%08lx\n", hr); }
+ if(set_filename2) + { + hr = IFileOpenDialog_SetFileName(pfod, set_filename2); + ok_(file,line)(hr == S_OK, "SetFileName failed: Got 0x%08lx\n", hr); + } + hr = IFileOpenDialog_SetFolder(pfod, psi_current); ok_(file,line)(hr == S_OK, "SetFolder failed: Got 0x%08lx\n", hr);
@@ -1481,8 +1494,8 @@ static void test_filename_opendlg_(LPCWSTR set_filename, IShellItem *psi_current
IFileDialogEvents_Release(pfde); } -#define test_filename_opendlg(set_filename, psi, defext, filterspec, fs_count, exp_filename) \ - test_filename_opendlg_(set_filename, psi, defext, filterspec, fs_count, exp_filename, __FILE__, __LINE__) +#define test_filename_opendlg(set_filename, set_filename2, psi, defext, filterspec, fs_count, exp_filename) \ + test_filename_opendlg_(set_filename, set_filename2, psi, defext, filterspec, fs_count, exp_filename, __FILE__, __LINE__)
static void test_filename(void) { @@ -1516,23 +1529,25 @@ static void test_filename(void) };
/* No extension */ - test_filename_savedlg(filename_noextW, NULL, NULL, 0, filename_noextW); + test_filename_savedlg(filename_noextW, NULL, NULL, NULL, 0, filename_noextW); /* Default extension */ - test_filename_savedlg(filename_noextW, defextW, NULL, 0, filename_defextW); + test_filename_savedlg(filename_noextW, NULL, defextW, NULL, 0, filename_defextW); /* Default extension on filename ending with a . */ - test_filename_savedlg(filename_dotextW, defextW, NULL, 0, filename_dotanddefW); + test_filename_savedlg(filename_dotextW, NULL, defextW, NULL, 0, filename_dotanddefW); /* Default extension on filename with default extension */ - test_filename_savedlg(filename_defextW, defextW, NULL, 0, filename_defextW); + test_filename_savedlg(filename_defextW, NULL, defextW, NULL, 0, filename_defextW); /* Default extension on filename with another extension */ - test_filename_savedlg(filename_ext1W, defextW, NULL, 0, filename_ext1anddefW); + test_filename_savedlg(filename_ext1W, NULL, defextW, NULL, 0, filename_ext1anddefW); /* Default extension, filterspec without default extension */ - test_filename_savedlg(filename_noextW, defextW, filterspec, 2, filename_ext1W); + test_filename_savedlg(filename_noextW, NULL, defextW, filterspec, 2, filename_ext1W); /* Default extension, filterspec with default extension */ - test_filename_savedlg(filename_noextW, defextW, filterspec, 3, filename_ext1W); + test_filename_savedlg(filename_noextW, NULL, defextW, filterspec, 3, filename_ext1W); /* Default extension, filterspec with "complex" extension */ - test_filename_savedlg(filename_noextW, defextW, filterspec2, 1, filename_ext2W); + test_filename_savedlg(filename_noextW, NULL, defextW, filterspec2, 1, filename_ext2W); /* Default extension, filterspec with extension that differs in case from the specified filename */ - test_filename_savedlg(filename_mixedcaseW, defextW, filterspec, 0, filename_mixedcaseW); + test_filename_savedlg(filename_mixedcaseW, NULL, defextW, filterspec, 0, filename_mixedcaseW); + /* Default extension, filterspec with default extension, filename filter */ + test_filename_savedlg(filename_noextW, ext2, defextW, filterspec, 3, filename_ext2W);
GetCurrentDirectoryW(MAX_PATH, buf); ok(!!pSHCreateItemFromParsingName, "SHCreateItemFromParsingName is missing.\n"); @@ -1544,17 +1559,21 @@ static void test_filename(void) touch_file(filename_ext2W);
/* IFileOpenDialog, default extension */ - test_filename_opendlg(filename_noextW, psi_current, defextW, NULL, 0, filename_noextW); + test_filename_opendlg(filename_noextW, NULL, psi_current, defextW, NULL, 0, filename_noextW); /* IFileOpenDialog, default extension and filterspec */ - test_filename_opendlg(filename_noextW, psi_current, defextW, filterspec, 2, filename_noextW); + test_filename_opendlg(filename_noextW, NULL, psi_current, defextW, filterspec, 2, filename_noextW); + /* IFileOpenDialog, default extension, filterspec and filename filter */ + test_filename_opendlg(filename_noextW, ext2, psi_current, defextW, filterspec, 2, filename_noextW);
DeleteFileW(filename_noextW); /* IFileOpenDialog, default extension, noextW deleted */ - test_filename_opendlg(filename_noextW, psi_current, defextW, NULL, 0, filename_defextW); + test_filename_opendlg(filename_noextW, NULL, psi_current, defextW, NULL, 0, filename_defextW); + /* IFileOpenDialog, default extension and filename filter, noextW deleted */ + test_filename_opendlg(filename_noextW, ext2, psi_current, defextW, NULL, 0, filename_ext2W); if(0) /* Interactive */ { /* IFileOpenDialog, filterspec, no default extension, noextW deleted */ - test_filename_opendlg(filename_noextW, psi_current, NULL, filterspec, 2, NULL); + test_filename_opendlg(filename_noextW, NULL, psi_current, NULL, filterspec, 2, NULL); }
IShellItem_Release(psi_current);