From: Kun Yang <yangkun@uniontech.com> This is tests for ReplaceFileW when replaced is a directory. Signed-off-by: Kun Yang <yangkun@uniontech.com> --- dlls/kernel32/tests/file.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c index d66ab2efe66..c9be171121d 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c @@ -4466,6 +4466,18 @@ static void test_ReplaceFileW(void) "ReplaceFileW: unexpected error %ld\n", GetLastError()); DeleteFileW( replacement ); + ret = GetTempFileNameW(temp_path, prefix, 0, replacement); + ok(ret, "GetTempFileNameW error (replacement) %ld\n", GetLastError()); + ret = CreateDirectoryW(replaced, NULL); + ok(ret, "CreateDirectoryW error %ld\n", GetLastError()); + SetLastError(0xdeadbeef); + ret = pReplaceFileW(replaced, replacement, NULL, 0, 0, 0); + todo_wine ok(!ret, "expected failure\n"); + ok(GetLastError() == ERROR_ACCESS_DENIED, "got error %lu\n", GetLastError()); + ret = RemoveDirectoryW(replaced); + todo_wine ok(ret, "RemoveDirectoryW error %ld\n", GetLastError()); + DeleteFileW(replacement); + if (removeBackup) { ret = DeleteFileW(backup); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10934