Dmitry Timoshkov : shell32/tests: Add a couple of SHFileOperation(FO_MOVE) tests for a directory.
Module: wine Branch: master Commit: 5614ae23ee07c0b895f82559844c40686893a7a9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5614ae23ee07c0b895f8255984... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Thu Mar 19 17:30:47 2015 +0800 shell32/tests: Add a couple of SHFileOperation(FO_MOVE) tests for a directory. --- dlls/shell32/tests/shlfileop.c | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/dlls/shell32/tests/shlfileop.c b/dlls/shell32/tests/shlfileop.c index 6bb28e1..fa83adf 100644 --- a/dlls/shell32/tests/shlfileop.c +++ b/dlls/shell32/tests/shlfileop.c @@ -164,6 +164,9 @@ static void clean_after_shfo_tests(void) DeleteFileA("test4.txt\\test1.txt"); DeleteFileA("test4.txt\\test2.txt"); DeleteFileA("test4.txt\\test3.txt"); + DeleteFileA("test4.txt\\one.txt"); + DeleteFileA("test4.txt\\nested\\two.txt"); + RemoveDirectoryA("test4.txt\\nested"); RemoveDirectoryA("test4.txt"); DeleteFileA("testdir2\\one.txt"); DeleteFileA("testdir2\\test1.txt"); @@ -1826,6 +1829,49 @@ static void test_move(void) CHAR to[5*MAX_PATH]; DWORD retval; + clean_after_shfo_tests(); + init_shfo_tests(); + + shfo.hwnd = NULL; + shfo.wFunc = FO_MOVE; + shfo.pFrom = from; + shfo.pTo = to; + shfo.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR; + shfo.hNameMappings = NULL; + shfo.lpszProgressTitle = NULL; + shfo.fAnyOperationsAborted = FALSE; + + set_curr_dir_path(from, "testdir2\\*.*\0"); + set_curr_dir_path(to, "test4.txt\\*.*\0"); + retval = SHFileOperationA(&shfo); + ok(retval != 0, "SHFileOperation should fail\n"); + ok(!shfo.fAnyOperationsAborted, "fAnyOperationsAborted %d\n", shfo.fAnyOperationsAborted); + + ok(file_exists("testdir2"), "dir should not be moved\n"); + ok(file_exists("testdir2\\one.txt"), "file should not be moved\n"); + ok(file_exists("testdir2\\nested"), "dir should not be moved\n"); + ok(file_exists("testdir2\\nested\\two.txt"), "file should not be moved\n"); + + set_curr_dir_path(from, "testdir2\\*.*\0"); + set_curr_dir_path(to, "test4.txt\0"); + retval = SHFileOperationA(&shfo); + ok(!retval, "SHFileOperation error %#x\n", retval); + ok(!shfo.fAnyOperationsAborted, "fAnyOperationsAborted %d\n", shfo.fAnyOperationsAborted); + + ok(file_exists("testdir2"), "dir should not be moved\n"); + ok(!file_exists("testdir2\\one.txt"), "file should be moved\n"); +todo_wine + ok(!file_exists("testdir2\\nested"), "dir should be moved\n"); + ok(!file_exists("testdir2\\nested\\two.txt"), "file should be moved\n"); + + ok(file_exists("test4.txt"), "dir should exist\n"); + ok(file_exists("test4.txt\\one.txt"), "file should exist\n"); + ok(file_exists("test4.txt\\nested"), "dir should exist\n"); + ok(file_exists("test4.txt\\nested\\two.txt"), "file should exist\n"); + + clean_after_shfo_tests(); + init_shfo_tests(); + shfo.hwnd = NULL; shfo.wFunc = FO_MOVE; shfo.pFrom = from;
participants (1)
-
Alexandre Julliard