1 /* 2 * PROJECT: ReactOS api tests 3 * LICENSE: GPL - See COPYING in the top level directory 4 * PURPOSE: Test for NtGdiSelectFont 5 * PROGRAMMERS: 6 */ 7 8 #include <win32nt.h> 9 10 START_TEST(NtGdiSelectFont) 11 { 12 HDC hDC; 13 HFONT hFont, hOldFont; 14 15 hDC = CreateDCW(L"DISPLAY", NULL, NULL, NULL); 16 17 hFont = GetStockObject(DEFAULT_GUI_FONT); 18 19 /* Test NULL DC */ 20 SetLastError(ERROR_SUCCESS); 21 hOldFont = NtGdiSelectFont(NULL, hFont); 22 TEST(hOldFont == NULL); 23 TEST(GetLastError() == ERROR_SUCCESS); 24 25 /* Test invalid DC */ 26 SetLastError(ERROR_SUCCESS); 27 hOldFont = NtGdiSelectFont((HDC)((ULONG_PTR)hDC & 0x0000ffff), hFont); 28 TEST(hOldFont == NULL); 29 TEST(GetLastError() == ERROR_SUCCESS); 30 31 /* Test NULL font */ 32 SetLastError(ERROR_SUCCESS); 33 hOldFont = NtGdiSelectFont(hDC, NULL); 34 TEST(hOldFont == NULL); 35 TEST(GetLastError() == ERROR_SUCCESS); 36 37 /* Test invalid font */ 38 SetLastError(ERROR_SUCCESS); 39 hOldFont = NtGdiSelectFont(hDC, (HFONT)((ULONG_PTR)hFont & 0x0000ffff)); 40 TEST(hOldFont == NULL); 41 TEST(GetLastError() == ERROR_SUCCESS); 42 43 SetLastError(ERROR_SUCCESS); 44 hOldFont = NtGdiSelectFont(hDC, hFont); 45 TEST(hOldFont != NULL); 46 hOldFont = NtGdiSelectFont(hDC, hOldFont); 47 TEST(hOldFont == hFont); 48 TEST(GetLastError() == ERROR_SUCCESS); 49 50 51 DeleteDC(hDC); 52 } 53 54