mirror of
https://github.com/reactos/reactos.git
synced 2025-05-22 18:45:00 +00:00
[GDI32_APITEST] Add tests for GetTextFaceAliasW(), based on Katayama Hirofumi MZ's tests from CORE-14926.
CORE-14995
This commit is contained in:
parent
2bd33d58d8
commit
c74696c06d
1 changed files with 74 additions and 2 deletions
|
@ -3,11 +3,21 @@
|
|||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* PURPOSE: Test for GetTextFace
|
||||
* PROGRAMMERS: Timo Kreuzer
|
||||
* Katayama Hirofumi MZ
|
||||
* Doug Lyons
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
void Test_GetTextFace()
|
||||
/* Exported by gdi32.dll but undocumented */
|
||||
INT
|
||||
WINAPI
|
||||
GetTextFaceAliasW(
|
||||
IN HDC hdc,
|
||||
IN INT c,
|
||||
OUT LPWSTR lpAliasName);
|
||||
|
||||
void Test_GetTextFace(void)
|
||||
{
|
||||
HDC hDC;
|
||||
INT ret;
|
||||
|
@ -73,8 +83,70 @@ void Test_GetTextFace()
|
|||
DeleteDC(hDC);
|
||||
}
|
||||
|
||||
void Test_GetTextFaceAliasW(void)
|
||||
{
|
||||
HDC hDC;
|
||||
INT ret;
|
||||
INT ret2;
|
||||
UINT i;
|
||||
LOGFONTW lf;
|
||||
HFONT hFontOld, hFont;
|
||||
WCHAR buf1[LF_FACESIZE];
|
||||
WCHAR buf2[LF_FACESIZE];
|
||||
|
||||
static struct
|
||||
{
|
||||
LPCWSTR lpFaceName;
|
||||
LPCWSTR lpExpectedFaceName;
|
||||
LPCWSTR lpExpectedAlias;
|
||||
} FaceTests[] =
|
||||
{
|
||||
{L"Arial", L"Arial", L"Arial"},
|
||||
{L"Tahoma", L"Tahoma", L"Tahoma"},
|
||||
{L"Tahoma Bold", L"MS Sans Serif", L"MS Sans Serif"}, // That's what Windows 2003 and 7 returns.
|
||||
{L"Helv", L"Helv", L"Helv"},
|
||||
{L"Tms Rmn", L"Tms Rmn", L"Tms Rmn"},
|
||||
{L"Times", L"Times", L"Times"},
|
||||
{L"invalid", L"MS Sans Serif", L"MS Sans Serif"}
|
||||
};
|
||||
|
||||
hDC = CreateCompatibleDC(NULL);
|
||||
ok(hDC != 0, "CreateCompatibleDC failed, skipping tests.\n");
|
||||
if (!hDC) return;
|
||||
|
||||
for (i = 0; i < ARRAYSIZE(FaceTests); ++i)
|
||||
{
|
||||
ZeroMemory(&lf, sizeof(lf));
|
||||
StringCchCopyW(lf.lfFaceName, ARRAYSIZE(lf.lfFaceName), FaceTests[i].lpFaceName);
|
||||
|
||||
hFont = CreateFontIndirectW(&lf);
|
||||
if (!hFont)
|
||||
{
|
||||
trace("Failed to create font '%S'!\n", lf.lfFaceName);
|
||||
continue;
|
||||
}
|
||||
|
||||
hFontOld = SelectObject(hDC, hFont);
|
||||
|
||||
ret = GetTextFaceW(hDC, ARRAYSIZE(buf1), buf1);
|
||||
ok(ret != 0, "%S GetTextFaceW failed.\n", FaceTests[i].lpFaceName);
|
||||
ok(wcscmp(buf1, FaceTests[i].lpExpectedFaceName) == 0, "'%S' GetTextFaceW failed, got '%S', expected '%S'.\n",
|
||||
FaceTests[i].lpFaceName, buf1, FaceTests[i].lpExpectedFaceName);
|
||||
|
||||
ret2 = GetTextFaceAliasW(hDC, ARRAYSIZE(buf2), buf2);
|
||||
ok(ret2 != 0, "%S GetTextFaceAliasW failed.\n", FaceTests[i].lpFaceName);
|
||||
ok(wcscmp(buf2, FaceTests[i].lpExpectedAlias) == 0, "'%S' GetTextFaceAliasW failed, got '%S', expected '%S'.\n",
|
||||
FaceTests[i].lpFaceName, buf2, FaceTests[i].lpExpectedAlias);
|
||||
|
||||
SelectObject(hDC, hFontOld);
|
||||
DeleteObject(hFont);
|
||||
}
|
||||
|
||||
DeleteDC(hDC);
|
||||
}
|
||||
|
||||
START_TEST(GetTextFace)
|
||||
{
|
||||
Test_GetTextFace();
|
||||
Test_GetTextFaceAliasW();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue