mirror of
https://github.com/reactos/reactos.git
synced 2024-10-30 03:27:31 +00:00
8c7bebfed8
- test that: - the last error is never set - the buffer size is ignored if the buffer is NULL - the buffer size is returned if the buffer is non-NULL and too small - the function fails if a non-NULL buffer has a size <= 0 - allocate the DC for a GDI test with a GDI routine (CreateCompatibleDC) instead of an USER routine (GetDC) svn path=/trunk/; revision=36779
69 lines
1.6 KiB
C
69 lines
1.6 KiB
C
|
|
INT
|
|
Test_GetTextFace(PTESTINFO pti)
|
|
{
|
|
HDC hDC;
|
|
INT ret;
|
|
INT ret2;
|
|
WCHAR Buffer[20];
|
|
|
|
hDC = CreateCompatibleDC(NULL);
|
|
ASSERT(hDC);
|
|
|
|
/* Whether asking for the string size (NULL buffer) ignores the size argument */
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, 0, NULL);
|
|
TEST(ret != 0);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
ret2 = ret;
|
|
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, -1, NULL);
|
|
TEST(ret != 0);
|
|
TEST(ret == ret2);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
ret2 = ret;
|
|
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, 10000, NULL);
|
|
TEST(ret != 0);
|
|
TEST(ret == ret2);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
ret2 = ret;
|
|
|
|
/* Whether the buffer is correctly filled */
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, 20, Buffer);
|
|
TEST(ret != 0);
|
|
TEST(ret <= 20);
|
|
TEST(Buffer[ret - 1] == 0);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, 1, Buffer);
|
|
TEST(ret == 1);
|
|
TEST(Buffer[ret - 1] == 0);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, 2, Buffer);
|
|
TEST(ret == 2);
|
|
TEST(Buffer[ret - 1] == 0);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
|
|
/* Whether invalid buffer sizes are correctly ignored */
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, 0, Buffer);
|
|
TEST(ret == 0);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
|
|
SetLastError(0xE000BEEF);
|
|
ret = GetTextFaceW(hDC, -1, Buffer);
|
|
TEST(ret == 0);
|
|
TEST(GetLastError() == 0xE000BEEF);
|
|
|
|
DeleteDC(hDC);
|
|
|
|
return APISTATUS_NORMAL;
|
|
}
|