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