[APITESTS][WIN32KNT_APITEST] Improve NtGdiEnumFontOpen testcase (#1285)
[reactos.git] / modules / rostests / apitests / win32nt / ntgdi / NtGdiSelectFont.c
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