From ca8fcf5402f30618d2e063b576089001f50d5a65 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Mon, 26 Oct 2015 12:03:09 +0000 Subject: [PATCH 1/1] [USER32_APITEST] - Add a test for the bug in win32k highlighted by the recent ATL breakage CORE-10413 svn path=/trunk/; revision=69707 --- rostests/apitests/user32/CMakeLists.txt | 2 ++ rostests/apitests/user32/CreateWindowEx.c | 28 +++++++++++++++++++++++ rostests/apitests/user32/testlist.c | 4 ++++ 3 files changed, 34 insertions(+) create mode 100644 rostests/apitests/user32/CreateWindowEx.c diff --git a/rostests/apitests/user32/CMakeLists.txt b/rostests/apitests/user32/CMakeLists.txt index 17ec36bcd44..720cee8865c 100644 --- a/rostests/apitests/user32/CMakeLists.txt +++ b/rostests/apitests/user32/CMakeLists.txt @@ -4,10 +4,12 @@ list(APPEND SOURCE helper.c CreateDialog.c CreateIconFromResourceEx.c + CreateWindowEx.c DeferWindowPos.c DestroyCursorIcon.c DrawIconEx.c desktop.c + DestroyWindow.c EnumDisplaySettings.c GetDCEx.c GetIconInfo.c diff --git a/rostests/apitests/user32/CreateWindowEx.c b/rostests/apitests/user32/CreateWindowEx.c new file mode 100644 index 00000000000..d708e3aac4c --- /dev/null +++ b/rostests/apitests/user32/CreateWindowEx.c @@ -0,0 +1,28 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory + * PURPOSE: Test for CreateWindowEx + * PROGRAMMERS: Thomas Faber + */ + +#include +#include + + +START_TEST(CreateWindowEx) +{ + HWND hWnd; + DWORD dwError; + + SetLastError(0x1234); + hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_CHILD, 0, 0, 0, 0, NULL, NULL, NULL, NULL); + dwError = GetLastError(); + ok(hWnd == NULL, "hWnd = %p\n", hWnd); + ok(dwError == ERROR_TLW_WITH_WSCHILD, "error = %lu\n", dwError); + + SetLastError(0x1234); + hWnd = CreateWindowExW(0, L"BUTTON", NULL, WS_CHILD, 0, 0, 0, 0, (HWND)(LONG_PTR)-1, NULL, NULL, NULL); + dwError = GetLastError(); + ok(hWnd == NULL, "hWnd = %p\n", hWnd); + ok(dwError == ERROR_INVALID_WINDOW_HANDLE, "error = %lu\n", dwError); +} diff --git a/rostests/apitests/user32/testlist.c b/rostests/apitests/user32/testlist.c index deaa4e85c4c..d3014050510 100644 --- a/rostests/apitests/user32/testlist.c +++ b/rostests/apitests/user32/testlist.c @@ -6,10 +6,12 @@ extern void func_AttachThreadInput(void); extern void func_CreateDialog(void); extern void func_CreateIconFromResourceEx(void); +extern void func_CreateWindowEx(void); extern void func_DeferWindowPos(void); extern void func_DestroyCursorIcon(void); extern void func_DrawIconEx(void); extern void func_desktop(void); +extern void func_DestroyWindow(void); extern void func_EnumDisplaySettings(void); extern void func_GetDCEx(void); extern void func_GetIconInfo(void); @@ -41,10 +43,12 @@ const struct test winetest_testlist[] = { "AttachThreadInput", func_AttachThreadInput }, { "CreateDialog", func_CreateDialog }, { "CreateIconFromResourceEx", func_CreateIconFromResourceEx }, + { "CreateWindowEx", func_CreateWindowEx }, { "DeferWindowPos", func_DeferWindowPos }, { "DestroyCursorIcon", func_DestroyCursorIcon }, { "DrawIconEx", func_DrawIconEx }, { "desktop", func_desktop }, + { "DestroyWindow", func_DestroyWindow }, { "EnumDisplaySettings", func_EnumDisplaySettings }, { "GetDCEx", func_GetDCEx }, { "GetIconInfo", func_GetIconInfo }, -- 2.17.1