Disable some misleading service tests because a test cannot determine wheter or not...
[reactos.git] / apitests / w32knapi / ntgdi / NtGdiExtTextOutW.c
1
2 /*
3 BOOL
4 APIENTRY
5 NtGdiExtTextOutW(
6 IN HDC hDC,
7 IN INT XStart,
8 IN INT YStart,
9 IN UINT fuOptions,
10 IN OPTIONAL LPRECT UnsafeRect,
11 IN LPWSTR UnsafeString,
12 IN INT Count,
13 IN OPTIONAL LPINT UnsafeDx,
14 IN DWORD dwCodePage)
15 */
16
17 INT
18 Test_NtGdiExtTextOutW(PTESTINFO pti)
19 {
20 HWND hWnd;
21 HDC hDC;
22 RECT rect;
23 LPWSTR lpstr;
24 BOOL ret;
25 ULONG len;
26 INT Dx[10] = {10, -5, 10, 5, 10, -10, 10, 5, 10, 5};
27
28 /* Create a window */
29 hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
30 CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
31 NULL, NULL, g_hInstance, 0);
32 hDC = GetDC(hWnd);
33
34 lpstr = L"Hallo";
35 len = wcslen(lpstr);
36
37 ret = NtGdiExtTextOutW(hDC, 0, 0, 0, &rect, lpstr, len, Dx, 0);
38 TEST(ret == 1);
39
40 ret = NtGdiExtTextOutW(hDC, 0, 0, ETO_PDY, &rect, lpstr, len, Dx, 0);
41 TEST(ret == 1);
42
43 /* Test invalid lpDx */
44 ret = NtGdiExtTextOutW(hDC, 0, 0, 0, 0, lpstr, len, (INT*)((ULONG_PTR)-1), 0);
45 TEST(ret == 0);
46
47 /* Test alignment requirement for lpDx */
48 ret = NtGdiExtTextOutW(hDC, 0, 0, 0, 0, lpstr, len, (INT*)((ULONG_PTR)Dx + 1), 0);
49 TEST(ret == 1);
50
51 return APISTATUS_NORMAL;
52 }
53