scrrun: Implement Path() property for Folder.

This commit is contained in:
Nikolay Sivov 2014-03-12 10:07:24 +04:00 committed by Alexandre Julliard
parent 31faed571d
commit eebf9c6b82
2 changed files with 17 additions and 3 deletions

View File

@ -1826,8 +1826,14 @@ static HRESULT WINAPI folder_Invoke(IFolder *iface, DISPID dispIdMember,
static HRESULT WINAPI folder_get_Path(IFolder *iface, BSTR *path)
{
struct folder *This = impl_from_IFolder(iface);
FIXME("(%p)->(%p): stub\n", This, path);
return E_NOTIMPL;
TRACE("(%p)->(%p)\n", This, path);
if(!path)
return E_POINTER;
*path = SysAllocString(This->path);
return *path ? S_OK : E_OUTOFMEMORY;
}
static HRESULT WINAPI folder_get_Name(IFolder *iface, BSTR *name)

View File

@ -795,7 +795,7 @@ static void test_GetFolder(void)
/* Please keep the tests for IFolderCollection and IFileCollection in sync */
static void test_FolderCollection(void)
{
static const WCHAR fooW[] = {'\\','f','o','o',0};
static const WCHAR fooW[] = {'f','o','o',0};
static const WCHAR aW[] = {'\\','a',0};
static const WCHAR bW[] = {'\\','b',0};
static const WCHAR cW[] = {'\\','c',0};
@ -824,6 +824,14 @@ static void test_FolderCollection(void)
hr = IFolder_get_SubFolders(folder, NULL);
ok(hr == E_POINTER, "got 0x%08x\n", hr);
hr = IFolder_get_Path(folder, NULL);
ok(hr == E_POINTER, "got 0x%08x\n", hr);
hr = IFolder_get_Path(folder, &str);
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(!lstrcmpW(buffW, str), "got %s, expected %s\n", wine_dbgstr_w(str), wine_dbgstr_w(buffW));
SysFreeString(str);
lstrcpyW(pathW, buffW);
lstrcatW(pathW, aW);
CreateDirectoryW(pathW, NULL);