[PATCH 1/2] shell32: SHFileOperation: test added [try 2]
James Hawkins
truiken at gmail.com
Wed Jun 18 11:27:20 CDT 2008
2008/6/18 Vitaly Perov <vitperov at etersoft.ru>:
> Changelog:
> - shell32: test added. It check whether SHFileOperation could correctly work
> with input files mask '*.*'
>
Couple problems:
--- a/dlls/shell32/tests/shlfileop.c
+++ b/dlls/shell32/tests/shlfileop.c
@@ -120,6 +120,7 @@ static void init_shfo_tests(void)
CreateDirectoryA("testdir2", NULL);
CreateDirectoryA("testdir2\\nested", NULL);
createTestFile("testdir2\\one.txt");
+ createTestFile("testdir2\\one2.txt");
createTestFile("testdir2\\nested\\two.txt");
}
@@ -136,11 +137,14 @@ static void clean_after_shfo_tests(void)
DeleteFileA("test4.txt\\test3.txt");
RemoveDirectoryA("test4.txt");
DeleteFileA("testdir2\\one.txt");
+ DeleteFileA("testdir2\\one2.txt");
DeleteFileA("testdir2\\test1.txt");
DeleteFileA("testdir2\\test2.txt");
DeleteFileA("testdir2\\test3.txt");
DeleteFileA("testdir2\\test4.txt\\test1.txt");
DeleteFileA("testdir2\\nested\\two.txt");
+ DeleteFileA("testdir2\\nested\\one.txt");
+ DeleteFileA("testdir2\\nested\\one2.txt");
RemoveDirectoryA("testdir2\\test4.txt");
RemoveDirectoryA("testdir2\\nested");
RemoveDirectoryA("testdir2");
Why are you adding another test file? There are already multiple *.*
files created in the test directory.
+ /* try moving with MASK '*.*' */
+ shfo.pFrom = "testdir2\\*.*\0";
+ shfo.pTo = "testdir2\\nested\0";
+ retval = SHFileOperationA(&shfo);
+ ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+ ok(!file_exists("testdir2\\one.txt"), "Expected one.txt to not exist\n");
+ ok(!file_exists("testdir2\\one2.txt"), "Expected one2.txt to not exist\n");
+ ok(file_exists("testdir2\\nested\\one.txt"), "Expected one.txt to
exist\n");
+ ok(file_exists("testdir2\\nested\\one2.txt"), "Expected one.txt
to exist\n");
This test is misleading. We already test for moving multiple files to
a destination directory using a mask: line 1102 of the git version of
this file. The misleading part is that what we don't test is moving
multiple files to a destination directory when the FOF_MULTIDESTFILES
flag is set (it's set in a previous test and never unset in your
patch). This would be a much better addition to the tests (and easier
to understand because it follows from the previous test):
/* move files using glob to a dest dir with FOF_MULTIDESTFILES */
shfo.fFlags |= FOF_MULTIDESTFILES;
set_curr_dir_path(from, "test?.txt\0");
set_curr_dir_path(to, "testdir2\0");
ok(!file_exists("testdir2\\test2.txt"), "The file is not moved yet\n");
ok(!file_exists("testdir2\\test4.txt"), "The directory is not moved yet\n");
retval = SHFileOperationA(&shfo);
ok(retval == ERROR_SUCCESS, "Files and directories are moved to directory\n");
ok(file_exists("testdir2\\test2.txt"), "The file is moved\n");
ok(file_exists("testdir2\\test4.txt"), "The directory is moved\n");
ok(file_exists("testdir2\\test4.txt\\test1.txt"), "The file in
subdirectory is moved\n");
This should immediately follow the similar test on line 1102.
--
James Hawkins
More information about the wine-devel
mailing list