scrrun: Add MoveFile implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
4e9dae3776
commit
c8c00d6f4a
|
@ -3638,12 +3638,11 @@ static HRESULT WINAPI filesys_DeleteFolder(IFileSystem3 *iface, BSTR FolderSpec,
|
||||||
return delete_folder(FolderSpec, SysStringLen(FolderSpec), Force);
|
return delete_folder(FolderSpec, SysStringLen(FolderSpec), Force);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI filesys_MoveFile(IFileSystem3 *iface, BSTR Source,
|
static HRESULT WINAPI filesys_MoveFile(IFileSystem3 *iface, BSTR source, BSTR destination)
|
||||||
BSTR Destination)
|
|
||||||
{
|
{
|
||||||
FIXME("%p %s %s\n", iface, debugstr_w(Source), debugstr_w(Destination));
|
TRACE("%p %s %s\n", iface, debugstr_w(source), debugstr_w(destination));
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return MoveFileW(source, destination) ? S_OK : create_error(GetLastError());
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI filesys_MoveFolder(IFileSystem3 *iface,BSTR Source,
|
static HRESULT WINAPI filesys_MoveFolder(IFileSystem3 *iface,BSTR Source,
|
||||||
|
|
|
@ -2467,6 +2467,67 @@ static void test_GetSpecialFolder(void)
|
||||||
IFolder_Release(folder);
|
IFolder_Release(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_MoveFile(void)
|
||||||
|
{
|
||||||
|
ITextStream *stream;
|
||||||
|
BSTR str, src, dst;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
str = SysAllocString(L"test.txt");
|
||||||
|
hr = IFileSystem3_CreateTextFile(fs3, str, VARIANT_FALSE, VARIANT_FALSE, &stream);
|
||||||
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
SysFreeString(str);
|
||||||
|
|
||||||
|
str = SysAllocString(L"test");
|
||||||
|
hr = ITextStream_Write(stream, str);
|
||||||
|
ok(hr == S_OK, "Write failed: %08x\n", hr);
|
||||||
|
SysFreeString(str);
|
||||||
|
|
||||||
|
ITextStream_Release(stream);
|
||||||
|
|
||||||
|
str = SysAllocString(L"test2.txt");
|
||||||
|
hr = IFileSystem3_CreateTextFile(fs3, str, VARIANT_FALSE, VARIANT_FALSE, &stream);
|
||||||
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
SysFreeString(str);
|
||||||
|
ITextStream_Release(stream);
|
||||||
|
|
||||||
|
src = SysAllocString(L"test.txt");
|
||||||
|
dst = SysAllocString(L"test3.txt");
|
||||||
|
hr = IFileSystem3_MoveFile(fs3, src, dst);
|
||||||
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
SysFreeString(src);
|
||||||
|
SysFreeString(dst);
|
||||||
|
|
||||||
|
str = SysAllocString(L"test.txt");
|
||||||
|
hr = IFileSystem3_DeleteFile(fs3, str, VARIANT_TRUE);
|
||||||
|
ok(hr == CTL_E_FILENOTFOUND, "DeleteFile returned %x, expected CTL_E_FILENOTFOUND\n", hr);
|
||||||
|
SysFreeString(str);
|
||||||
|
|
||||||
|
src = SysAllocString(L"test3.txt");
|
||||||
|
dst = SysAllocString(L"test2.txt"); /* already exists */
|
||||||
|
hr = IFileSystem3_MoveFile(fs3, src, dst);
|
||||||
|
ok(hr == CTL_E_FILEALREADYEXISTS, "got 0x%08x, expected CTL_E_FILEALREADYEXISTS\n", hr);
|
||||||
|
SysFreeString(src);
|
||||||
|
SysFreeString(dst);
|
||||||
|
|
||||||
|
src = SysAllocString(L"nonexistent.txt");
|
||||||
|
dst = SysAllocString(L"test4.txt");
|
||||||
|
hr = IFileSystem3_MoveFile(fs3, src, dst);
|
||||||
|
ok(hr == CTL_E_FILENOTFOUND, "got 0x%08x, expected CTL_E_FILENOTFOUND\n", hr);
|
||||||
|
SysFreeString(src);
|
||||||
|
SysFreeString(dst);
|
||||||
|
|
||||||
|
str = SysAllocString(L"test3.txt");
|
||||||
|
hr = IFileSystem3_DeleteFile(fs3, str, VARIANT_TRUE);
|
||||||
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
SysFreeString(str);
|
||||||
|
|
||||||
|
str = SysAllocString(L"test2.txt");
|
||||||
|
hr = IFileSystem3_DeleteFile(fs3, str, VARIANT_TRUE);
|
||||||
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
SysFreeString(str);
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(filesystem)
|
START_TEST(filesystem)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
@ -2506,6 +2567,7 @@ START_TEST(filesystem)
|
||||||
test_SerialNumber();
|
test_SerialNumber();
|
||||||
test_GetExtensionName();
|
test_GetExtensionName();
|
||||||
test_GetSpecialFolder();
|
test_GetSpecialFolder();
|
||||||
|
test_MoveFile();
|
||||||
|
|
||||||
IFileSystem3_Release(fs3);
|
IFileSystem3_Release(fs3);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue