1 /*
2  * PROJECT:         ReactOS api tests
3  * LICENSE:         GPL - See COPYING in the top level directory
4  * PURPOSE:         Test for NtGdiEnumFontOpen
5  * PROGRAMMERS:
6  */
7 
8 #include <win32nt.h>
9 
10 START_TEST(NtGdiEnumFontOpen)
11 {
12     HDC hDC;
13     ULONG_PTR idEnum;
14     ULONG ulCount;
15     PENTRY pEntry;
16 
17     hDC = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
18 
19     // FIXME: We should load the font first
20 
21     idEnum = NtGdiEnumFontOpen(hDC, 2, 0, 32, L"Courier", ANSI_CHARSET, &ulCount);
22     ok(idEnum != 0, "idEnum was 0.\n");
23     if (idEnum == 0)
24     {
25         skip("idEnum == 0");
26         return;
27     }
28 
29     /* we should have a gdi handle here */
30     ok_int((int)GDI_HANDLE_GET_TYPE(idEnum), (int)GDI_OBJECT_TYPE_ENUMFONT);
31     pEntry = &GdiHandleTable[GDI_HANDLE_GET_INDEX(idEnum)];
32     ok(pEntry->einfo.pobj != NULL, "pEntry->einfo.pobj was NULL.\n");
33     ok_long(pEntry->ObjectOwner.ulObj, GetCurrentProcessId());
34     ok_ptr(pEntry->pUser, NULL);
35     ok_int(pEntry->FullUnique, (idEnum >> 16));
36     ok_int(pEntry->Objt, GDI_OBJECT_TYPE_ENUMFONT >> 16);
37     ok_int(pEntry->Flags, 0);
38 
39     /* We should not be able to use DeleteObject() on the handle */
40     ok_int(DeleteObject((HGDIOBJ)idEnum), FALSE);
41 
42     NtGdiEnumFontClose(idEnum);
43 
44     // Test no logfont (NULL): should word
45     // Test empty lfFaceName string: should not work
46 }
47