1 /*
2  * PROJECT:         ReactOS api tests
3  * LICENSE:         GPL - See COPYING in the top level directory
4  * PURPOSE:         Test for NtGdiFlushUserBatch
5  * PROGRAMMERS:
6  */
7 
8 #include "../win32nt.h"
9 
10 NTSTATUS
11 (NTAPI
12 *pNtGdiFlushUserBatch)(VOID);
13 
14 START_TEST(NtGdiFlushUserBatch)
15 {
16     PVOID pRet;
17     PTEB pTeb;
18 
19     pNtGdiFlushUserBatch = (PVOID)GetProcAddress(g_hModule, "NtGdiFlushUserBatch");
20     if (pNtGdiFlushUserBatch == NULL)
21         return APISTATUS_NOT_FOUND;
22 
23     pTeb = NtCurrentTeb();
24     ok(pTeb != NULL, "pTeb was NULL.\n");
25 
26     pRet = (PVOID)pNtGdiFlushUserBatch();
27 
28     ok(pRet != NULL, "pRet was NULL.\n");
29     ok_ptr(pRet, &pTeb->RealClientId);
30 
31     ok_long(pTeb->GdiBatchCount, 0);
32     ok_long(pTeb->GdiTebBatch.Offset, 0);
33     ok_ptr(pTeb->GdiTebBatch.HDC, NULL);
34 
35     /* Set up some bullshit */
36     pTeb->InDbgPrint = 1;
37     pTeb->GdiBatchCount = 12;
38     pTeb->GdiTebBatch.Offset = 21;
39     pTeb->GdiTebBatch.HDC = (HDC)123;
40 
41     pRet = (PVOID)pNtGdiFlushUserBatch();
42     ok_ptr(pRet, &pTeb->RealClientId);
43 
44     ok_int(pTeb->InDbgPrint, 0);
45     ok_long(pTeb->GdiBatchCount, 12);
46     ok_long(pTeb->GdiTebBatch.Offset, 0);
47     ok_ptr(pTeb->GdiTebBatch.HDC, NULL);
48 }
49