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 
START_TEST(NtGdiSelectFont)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