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