From 400e0af66c9435a7f5aff15bfcd7c10ecfd2352b Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Wed, 23 Nov 2016 12:10:01 +0000 Subject: [PATCH] user32/tests: Mark built-in wndproc auto-detection behaviour as broken on Windows 8 and 10. Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/user32/tests/class.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/user32/tests/class.c b/dlls/user32/tests/class.c index 14f0aa3a178..6ab4cfe0c05 100644 --- a/dlls/user32/tests/class.c +++ b/dlls/user32/tests/class.c @@ -685,9 +685,16 @@ static void test_builtinproc(void) cls.lpfnWndProc = pDefWindowProcW; atom = RegisterClassExA(&cls); - hwnd = CreateWindowExW(0, classW, NULL, WS_OVERLAPPEDWINDOW, + hwnd = CreateWindowExW(0, classW, unistring, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 680, 260, NULL, NULL, GetModuleHandleW(NULL), 0); - ok(IsWindowUnicode(hwnd), "Windows should be Unicode\n"); + ok(IsWindowUnicode(hwnd) || + broken(!IsWindowUnicode(hwnd)) /* Windows 8 and 10 */, + "Windows should be Unicode\n"); + SendMessageW(hwnd, WM_GETTEXT, sizeof(buf) / sizeof(buf[0]), (LPARAM)buf); + if (IsWindowUnicode(hwnd)) + ok(memcmp(buf, unistring, sizeof(unistring)) == 0, "WM_GETTEXT invalid return\n"); + else + ok(memcmp(buf, unistring, sizeof(unistring)) != 0, "WM_GETTEXT invalid return\n"); SetWindowLongPtrW(hwnd, GWLP_WNDPROC, (LONG_PTR)pDefWindowProcA); ok(IsWindowUnicode(hwnd), "Windows should have remained Unicode\n"); if (GetWindowLongPtrW(hwnd, GWLP_WNDPROC) == (LONG_PTR)pDefWindowProcA)