mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 00:32:57 +00:00
[SHELL32_APITEST] Add SHSimpleIDListFromPath testcase
This commit is contained in:
parent
ac0bcf4a90
commit
d10f8bd42d
3 changed files with 51 additions and 0 deletions
48
modules/rostests/apitests/shell32/SHSimpleIDListFromPath.cpp
Normal file
48
modules/rostests/apitests/shell32/SHSimpleIDListFromPath.cpp
Normal file
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* PROJECT: ReactOS API tests
|
||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||
* PURPOSE: Test for SHSimpleIDListFromPath
|
||||
* COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
||||
*/
|
||||
|
||||
#include "shelltest.h"
|
||||
#include <shellutils.h>
|
||||
|
||||
START_TEST(SHSimpleIDListFromPath)
|
||||
{
|
||||
HRESULT hr;
|
||||
WCHAR szPath[MAX_PATH];
|
||||
GetWindowsDirectoryW(szPath, _countof(szPath));
|
||||
|
||||
LPITEMIDLIST pidl1 = SHSimpleIDListFromPath(szPath);
|
||||
LPITEMIDLIST pidl2 = ILCreateFromPathW(szPath);
|
||||
LPITEMIDLIST pidl1Last = ILFindLastID(pidl1);
|
||||
LPITEMIDLIST pidl2Last = ILFindLastID(pidl2);
|
||||
ok_int(ILIsEqual(pidl1, pidl2), TRUE);
|
||||
ok_int(ILIsEqual(pidl1Last, pidl2Last), TRUE);
|
||||
|
||||
IShellFolder *psf1 = NULL;
|
||||
IShellFolder *psf2 = NULL;
|
||||
hr = SHBindToParent(pidl1, IID_PPV_ARG(IShellFolder, &psf1), NULL);
|
||||
ok_long(hr, S_OK);
|
||||
hr = SHBindToParent(pidl2, IID_PPV_ARG(IShellFolder, &psf2), NULL);
|
||||
ok_long(hr, S_OK);
|
||||
|
||||
DWORD attrs1 = SFGAO_FOLDER;
|
||||
DWORD attrs2 = SFGAO_FOLDER;
|
||||
|
||||
hr = (psf1 ? psf1->GetAttributesOf(1, &pidl1Last, &attrs1) : E_UNEXPECTED);
|
||||
ok_long(hr, S_OK);
|
||||
hr = (psf2 ? psf2->GetAttributesOf(1, &pidl2Last, &attrs2) : E_UNEXPECTED);
|
||||
ok_long(hr, S_OK);
|
||||
|
||||
ok_long((attrs1 & SFGAO_FOLDER), 0);
|
||||
ok_long((attrs2 & SFGAO_FOLDER), SFGAO_FOLDER);
|
||||
|
||||
ILFree(pidl1);
|
||||
ILFree(pidl2);
|
||||
if (psf1)
|
||||
psf1->Release();
|
||||
if (psf2)
|
||||
psf2->Release();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue