Revert '[FONTEXT_APITEST] Follow-up of #3585'

This commit is contained in:
Katayama Hirofumi MZ 2021-04-07 17:08:23 +09:00
parent 2fd058dce6
commit f511258ee5

View file

@ -3,7 +3,6 @@
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Tests for fontext GetDisplayNameOf behavior * PURPOSE: Tests for fontext GetDisplayNameOf behavior
* COPYRIGHT: Copyright 2021 Mark Jansen <mark.jansen@reactos.org> * COPYRIGHT: Copyright 2021 Mark Jansen <mark.jansen@reactos.org>
* Copyright 2021 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
*/ */
#include <ntstatus.h> #include <ntstatus.h>
@ -16,7 +15,6 @@
#include <shlobj.h> #include <shlobj.h>
#include <shlwapi.h> #include <shlwapi.h>
#include <shellutils.h> #include <shellutils.h>
#include <versionhelpers.h>
#include "wine/test.h" #include "wine/test.h"
static HRESULT Initialize(CComPtr<IShellFolder>& spFolder) static HRESULT Initialize(CComPtr<IShellFolder>& spFolder)
@ -41,68 +39,45 @@ static HRESULT Initialize(CComPtr<IShellFolder>& spFolder)
hr = desktopFolder->BindToObject(pidl, NULL, IID_PPV_ARG(IShellFolder, &spFolder)); hr = desktopFolder->BindToObject(pidl, NULL, IID_PPV_ARG(IShellFolder, &spFolder));
ok_hex(hr, S_OK); ok_hex(hr, S_OK);
if (FAILED(hr))
{
skip("BindToObject failed\n");
return hr;
}
return hr; return hr;
} }
static void static void Test_GetDisplayNameOf(CComPtr<IShellFolder>& spFolder)
Test_GetDisplayNameOf(CComPtr<IShellFolder>& spFolder,
DWORD dwFlags, LPCWSTR text, BOOL fRelative)
{ {
CComPtr<IEnumIDList> fontsEnum; CComPtr<IEnumIDList> fontsEnum;
HRESULT hr = spFolder->EnumObjects(NULL, SHCONTF_NONFOLDERS, &fontsEnum); HRESULT hr = spFolder->EnumObjects(NULL, SHCONTF_NONFOLDERS, &fontsEnum);
ok_hex(hr, S_OK); ok_hex(hr, S_OK);
if (FAILED(hr)) if (FAILED(hr))
{
skip("EnumObjects failed\n");
return; return;
}
BOOL bFound = FALSE; CComHeapPtr<ITEMIDLIST> fontPidl;
for (;;) ULONG fetched = 0;
{ hr = fontsEnum->Next(1, &fontPidl, &fetched);
CComHeapPtr<ITEMIDLIST> fontPidl; STRRET strret;
ULONG fetched = 0; hr = spFolder->GetDisplayNameOf(fontPidl, SHGDN_FORPARSING, &strret);
hr = fontsEnum->Next(1, &fontPidl, &fetched); ok_hex(hr, S_OK);
if (FAILED(hr) || hr == S_FALSE) if (FAILED(hr))
break; return;
STRRET strret; WCHAR Buf[MAX_PATH];
hr = spFolder->GetDisplayNameOf(fontPidl, dwFlags, &strret); hr = StrRetToBufW(&strret, fontPidl, Buf, _countof(Buf));
if (FAILED(hr)) ok_hex(hr, S_OK);
continue; if (FAILED(hr))
return;
WCHAR Buf[MAX_PATH]; // On 2k3 where this is not a custom IShellFolder, it will return something like:
hr = StrRetToBufW(&strret, fontPidl, Buf, _countof(Buf)); // 'C:\\WINDOWS\\Fonts\\arial.ttf'
if (FAILED(hr)) // On Vista+ this results in something like:
continue; // 'C:\\Windows\\Fonts\\System Bold'
BOOL bRelative = PathIsRelativeW(Buf);
trace("Path: %s\n", wine_dbgstr_w(Buf)); trace("Path: %s\n", wine_dbgstr_w(Buf));
if (lstrcmpiW(text, Buf) == 0) ok(bRelative == FALSE, "Path not relative? (%s)\n", wine_dbgstr_w(Buf));
{
bFound = TRUE;
ok_int(PathIsRelativeW(Buf), fRelative);
break;
}
}
ok_int(bFound, TRUE);
} }
START_TEST(GetDisplayNameOf) START_TEST(GetDisplayNameOf)
{ {
if (IsWindowsVistaOrGreater())
{
skip("Vista+\n");
return;
}
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
{ {
@ -110,33 +85,7 @@ START_TEST(GetDisplayNameOf)
HRESULT hr = Initialize(spFolder); HRESULT hr = Initialize(spFolder);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{ {
WCHAR szPath[MAX_PATH]; Test_GetDisplayNameOf(spFolder);
SHGetFolderPathW(NULL, CSIDL_FONTS, NULL, 0, szPath);
PathAppendW(szPath, L"arial.ttf");
trace("SHGDN_NORMAL\n");
Test_GetDisplayNameOf(spFolder, SHGDN_NORMAL, L"arial.ttf", TRUE);
trace("SHGDN_INFOLDER\n");
Test_GetDisplayNameOf(spFolder, SHGDN_INFOLDER, L"arial.ttf", TRUE);
trace("SHGDN_FORPARSING\n");
Test_GetDisplayNameOf(spFolder, SHGDN_FORPARSING, szPath, FALSE);
trace("SHGDN_INFOLDER | SHGDN_FORPARSING\n");
Test_GetDisplayNameOf(spFolder, SHGDN_INFOLDER | SHGDN_FORPARSING, L"arial.ttf", TRUE);
trace("SHGDN_FORADDRESSBAR\n");
Test_GetDisplayNameOf(spFolder, SHGDN_FORADDRESSBAR, L"arial.ttf", TRUE);
trace("SHGDN_INFOLDER | SHGDN_FORADDRESSBAR\n");
Test_GetDisplayNameOf(spFolder, SHGDN_INFOLDER | SHGDN_FORADDRESSBAR, L"arial.ttf", TRUE);
trace("SHGDN_FORPARSING | SHGDN_FORADDRESSBAR\n");
Test_GetDisplayNameOf(spFolder, SHGDN_FORPARSING | SHGDN_FORADDRESSBAR, szPath, FALSE);
trace("SHGDN_INFOLDER | SHGDN_FORPARSING | SHGDN_FORADDRESSBAR\n");
Test_GetDisplayNameOf(spFolder, SHGDN_INFOLDER | SHGDN_FORPARSING | SHGDN_FORADDRESSBAR, L"arial.ttf", TRUE);
} }
} }