1 /* 2 * PROJECT: ReactOS api tests 3 * LICENSE: GPL - See COPYING in the top level directory 4 * PURPOSE: Test for GetTextFace 5 * PROGRAMMERS: Timo Kreuzer 6 */ 7 8 #include "precomp.h" 9 10 void Test_GetTextFace() 11 { 12 HDC hDC; 13 INT ret; 14 INT ret2; 15 WCHAR Buffer[20]; 16 17 hDC = CreateCompatibleDC(NULL); 18 ok(hDC != 0, "CreateCompatibleDC failed, skipping tests.\n"); 19 if (!hDC) return; 20 21 /* Whether asking for the string size (NULL buffer) ignores the size argument */ 22 SetLastError(0xE000BEEF); 23 ret = GetTextFaceW(hDC, 0, NULL); 24 TEST(ret != 0); 25 ok(GetLastError() == 0xE000BEEF, "GetLastError() == %ld\n", GetLastError()); 26 ret2 = ret; 27 28 SetLastError(0xE000BEEF); 29 ret = GetTextFaceW(hDC, -1, NULL); 30 TEST(ret != 0); 31 TEST(ret == ret2); 32 ok(GetLastError() == 0xE000BEEF, "GetLastError() == %ld\n", GetLastError()); 33 ret2 = ret; 34 35 SetLastError(0xE000BEEF); 36 ret = GetTextFaceW(hDC, 10000, NULL); 37 TEST(ret != 0); 38 TEST(ret == ret2); 39 ok(GetLastError() == 0xE000BEEF, "GetLastError() == %ld\n", GetLastError()); 40 ret2 = ret; 41 42 /* Whether the buffer is correctly filled */ 43 SetLastError(0xE000BEEF); 44 ret = GetTextFaceW(hDC, 20, Buffer); 45 TEST(ret != 0); 46 TEST(ret <= 20); 47 TEST(Buffer[ret - 1] == 0); 48 ok(GetLastError() == 0xE000BEEF, "GetLastError() == %ld\n", GetLastError()); 49 50 SetLastError(0xE000BEEF); 51 ret = GetTextFaceW(hDC, 1, Buffer); 52 TEST(ret == 1); 53 TEST(Buffer[ret - 1] == 0); 54 ok(GetLastError() == 0xE000BEEF, "GetLastError() == %ld\n", GetLastError()); 55 56 SetLastError(0xE000BEEF); 57 ret = GetTextFaceW(hDC, 2, Buffer); 58 TEST(ret == 2); 59 TEST(Buffer[ret - 1] == 0); 60 ok(GetLastError() == 0xE000BEEF, "GetLastError() == %ld\n", GetLastError()); 61 62 /* Whether invalid buffer sizes are correctly ignored */ 63 SetLastError(0xE000BEEF); 64 ret = GetTextFaceW(hDC, 0, Buffer); 65 TEST(ret == 0); 66 ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetLastError() == %ld\n", GetLastError()); 67 68 SetLastError(0xE000BEEF); 69 ret = GetTextFaceW(hDC, -1, Buffer); 70 TEST(ret == 0); 71 ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetLastError() == %ld\n", GetLastError()); 72 73 DeleteDC(hDC); 74 } 75 76 START_TEST(GetTextFace) 77 { 78 Test_GetTextFace(); 79 } 80 81