[USER32_APITEST]
[reactos.git] / rostests / apitests / user32 / CreateWindowEx.c
1 /*
2 * PROJECT: ReactOS API tests
3 * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory
4 * PURPOSE: Test for CreateWindowEx
5 * PROGRAMMERS: Thomas Faber <thomas.faber@reactos.org>
6 */
7
8 #include <apitest.h>
9 #include <winuser.h>
10
11
12 START_TEST(CreateWindowEx)
13 {
14 HWND hWnd;
15 DWORD dwError;
16
17 SetLastError(0x1234);
18 hWnd = CreateWindowExW(0, L"BUTTON", NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
19 dwError = GetLastError();
20 ok(hWnd != NULL, "hWnd = %p\n", hWnd);
21 ok(dwError == 0, "error = %lu\n", dwError);
22 DestroyWindow(hWnd);
23
24 SetLastError(0x1234);
25 hWnd = CreateWindowExW(0, L"BUTTON", NULL, 0, 0, 0, 0, 0, (HWND)(LONG_PTR)-1, NULL, NULL, NULL);
26 dwError = GetLastError();
27 ok(hWnd == NULL, "hWnd = %p\n", hWnd);
28 ok(dwError == ERROR_INVALID_WINDOW_HANDLE, "error = %lu\n", dwError);
29
30 SetLastError(0x1234);
31 hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_CHILD, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
32 dwError = GetLastError();
33 ok(hWnd == NULL, "hWnd = %p\n", hWnd);
34 ok(dwError == ERROR_TLW_WITH_WSCHILD, "error = %lu\n", dwError);
35
36 SetLastError(0x1234);
37 hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_CHILD, 0, 0, 0, 0, (HWND)(LONG_PTR)-1, NULL, NULL, NULL);
38 dwError = GetLastError();
39 ok(hWnd == NULL, "hWnd = %p\n", hWnd);
40 ok(dwError == ERROR_INVALID_WINDOW_HANDLE, "error = %lu\n", dwError);
41
42 SetLastError(0x1234);
43 hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_POPUP, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
44 dwError = GetLastError();
45 ok(hWnd != NULL, "hWnd = %p\n", hWnd);
46 ok(dwError == 0, "error = %lu\n", dwError);
47 DestroyWindow(hWnd);
48
49 SetLastError(0x1234);
50 hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_POPUP, 0, 0, 0, 0, (HWND)(LONG_PTR)-1, NULL, NULL, NULL);
51 dwError = GetLastError();
52 ok(hWnd == NULL, "hWnd = %p\n", hWnd);
53 ok(dwError == ERROR_INVALID_WINDOW_HANDLE, "error = %lu\n", dwError);
54
55 SetLastError(0x1234);
56 hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_CHILD|WS_POPUP, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
57 dwError = GetLastError();
58 ok(hWnd != NULL, "hWnd = %p\n", hWnd);
59 ok(dwError == 0, "error = %lu\n", dwError);
60 DestroyWindow(hWnd);
61
62 SetLastError(0x1234);
63 hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_CHILD|WS_POPUP, 0, 0, 0, 0, (HWND)(LONG_PTR)-1, NULL, NULL, NULL);
64 dwError = GetLastError();
65 ok(hWnd == NULL, "hWnd = %p\n", hWnd);
66 ok(dwError == ERROR_INVALID_WINDOW_HANDLE, "error = %lu\n", dwError);
67 }