Zhiyi Zhang : comctl32/tests: Remove WM_CTLCOLORSTATIC tests for static controls.
Alexandre Julliard
julliard at winehq.org
Fri Jan 21 15:54:47 CST 2022
Module: wine
Branch: master
Commit: 2390371f0fece0a1bb083c034157b97cfe89eb54
URL: https://source.winehq.org/git/wine.git/?a=commit;h=2390371f0fece0a1bb083c034157b97cfe89eb54
Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date: Fri Jan 21 15:47:38 2022 +0800
comctl32/tests: Remove WM_CTLCOLORSTATIC tests for static controls.
These tests are covered by test_EnableThemeDialogTexture() in uxtheme/tests/system.c. These tests
are also misleading because a WM_ERASEBKGND message is needed to actually activate dialog theming.
Without the message, they give the impression that EnableThemeDialogTexture() does nothing and
DefDlgProcA/W() are not hooked.
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/comctl32/tests/static.c | 120 -------------------------------------------
1 file changed, 120 deletions(-)
diff --git a/dlls/comctl32/tests/static.c b/dlls/comctl32/tests/static.c
index 529396b3f0d..40a337b97b0 100644
--- a/dlls/comctl32/tests/static.c
+++ b/dlls/comctl32/tests/static.c
@@ -27,7 +27,6 @@
#include "winuser.h"
#include "commctrl.h"
#include "resources.h"
-#include "uxtheme.h"
#include "wine/test.h"
@@ -40,10 +39,6 @@
static HWND hMainWnd;
static int g_nReceivedColorStatic;
-static HRESULT (WINAPI *pEnableThemeDialogTexture)(HWND, DWORD);
-static HTHEME (WINAPI *pGetWindowTheme)(HWND);
-static BOOL (WINAPI *pIsThemeDialogTextureEnabled)(HWND);
-
/* try to make sure pending X events have been processed before continuing */
static void flush_events(void)
{
@@ -382,118 +377,6 @@ static void test_STM_SETIMAGE(void)
DeleteEnhMetaFile(emf);
}
-static INT_PTR CALLBACK test_WM_CTLCOLORSTATIC_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
-{
- static HWND child;
-
- switch (msg)
- {
- case WM_INITDIALOG:
- child = CreateWindowA(WC_STATICA, "child", WS_CHILD | WS_VISIBLE, 1, 2, 50, 50, hwnd,
- (HMENU)100, 0, NULL);
- ok(child != NULL, "CreateWindowA failed, error %d.\n", GetLastError());
- return FALSE;
-
- case WM_CLOSE:
- DestroyWindow(child);
- return TRUE;
-
- default:
- return FALSE;
- }
-}
-
-static void test_WM_CTLCOLORSTATIC(void)
-{
- HWND parent, dialog, child;
- COLORREF color, old_color;
- HDC child_hdc, dialog_hdc;
- int mode, old_mode;
- HBRUSH brush;
- HRESULT hr;
- POINT org;
- BOOL ret;
-
- struct
- {
- DLGTEMPLATE tmplate;
- WORD menu;
- WORD class;
- WORD title;
- } temp = {{0}};
-
- parent = CreateWindowA(WC_STATICA, "parent", WS_POPUP | WS_VISIBLE, 100, 100, 200, 200, 0, 0, 0,
- NULL);
- ok(parent != NULL, "CreateWindowA failed, error %d.\n", GetLastError());
-
- temp.tmplate.style = WS_CHILD | WS_VISIBLE;
- temp.tmplate.cx = 80;
- temp.tmplate.cy = 80;
- dialog = CreateDialogIndirectParamA(NULL, &temp.tmplate, parent, test_WM_CTLCOLORSTATIC_proc, 0);
- ok(dialog != NULL, "CreateDialogIndirectParamA failed, error %d.\n", GetLastError());
- child = GetDlgItem(dialog, 100);
- ok(child != NULL, "Failed to get child static control, error %d.\n", GetLastError());
-
- dialog_hdc = GetDC(dialog);
- child_hdc = GetDC(child);
- PatBlt(dialog_hdc, 0, 0, 80, 80, BLACKNESS);
-
- old_mode = SetBkMode(child_hdc, OPAQUE);
- ok(old_mode != 0, "SetBkMode failed.\n");
- old_color = SetBkColor(child_hdc, 0xaa5511);
- ok(old_color != CLR_INVALID, "SetBkColor failed.\n");
-
- ret = pIsThemeDialogTextureEnabled(dialog);
- ok(ret, "Expected theme dialog texture supported.\n");
- ok(pGetWindowTheme(dialog) == NULL, "Expected NULL theme handle.\n");
-
- brush = (HBRUSH)SendMessageW(dialog, WM_CTLCOLORSTATIC, (WPARAM)child_hdc, (LPARAM)child);
- ok(brush == GetSysColorBrush(COLOR_BTNFACE), "Expected brush %p, got %p.\n",
- GetSysColorBrush(COLOR_BTNFACE), brush);
- color = SetBkColor(child_hdc, old_color);
- ok(color == GetSysColor(COLOR_BTNFACE), "Expected background color %#x, got %#x.\n",
- GetSysColor(COLOR_BTNFACE), color);
- mode = SetBkMode(child_hdc, old_mode);
- ok(mode == OPAQUE, "Expected mode %#x, got %#x.\n", OPAQUE, mode);
- color = GetPixel(dialog_hdc, 40, 40);
- ok(color == 0, "Expected pixel %#x, got %#x.\n", 0, color);
-
- /* Test that EnableThemeDialogTexture() doesn't make WM_CTLCOLORSTATIC return a different brush */
- hr = pEnableThemeDialogTexture(dialog, ETDT_DISABLE);
- ok(hr == S_OK, "EnableThemeDialogTexture failed, hr %#x.\n", hr);
- ret = pIsThemeDialogTextureEnabled(dialog);
- ok(!ret, "Expected theme dialog texture disabled.\n");
- hr = pEnableThemeDialogTexture(dialog, ETDT_ENABLETAB);
- ok(hr == S_OK, "EnableThemeDialogTexture failed, hr %#x.\n", hr);
- ret = pIsThemeDialogTextureEnabled(dialog);
- ok(ret, "Expected theme dialog texture enabled.\n");
-
- brush = (HBRUSH)SendMessageW(dialog, WM_CTLCOLORSTATIC, (WPARAM)child_hdc, (LPARAM)child);
- ok(brush == GetSysColorBrush(COLOR_BTNFACE), "Expected brush %p, got %p.\n",
- GetSysColorBrush(COLOR_BTNFACE), brush);
-
- /* Test that WM_CTLCOLORSTATIC doesn't change brush origin */
- ret = GetBrushOrgEx(child_hdc, &org);
- ok(ret, "GetBrushOrgEx failed, error %u.\n", GetLastError());
- ok(org.x == 0 && org.y == 0, "Expected (0,0), got %s.\n", wine_dbgstr_point(&org));
-
- ReleaseDC(child, child_hdc);
- ReleaseDC(dialog, dialog_hdc);
- EndDialog(dialog, 0);
- DestroyWindow(parent);
-}
-
-static void init_functions(void)
-{
- HMODULE uxtheme = LoadLibraryA("uxtheme.dll");
-
-#define X(f) p##f = (void *)GetProcAddress(uxtheme, #f);
- X(EnableThemeDialogTexture)
- X(GetWindowTheme)
- X(IsThemeDialogTextureEnabled)
-#undef X
-}
-
START_TEST(static)
{
static const char classname[] = "testclass";
@@ -504,8 +387,6 @@ START_TEST(static)
if (!load_v6_module(&ctx_cookie, &hCtx))
return;
- init_functions();
-
wndclass.cbSize = sizeof(wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
@@ -536,7 +417,6 @@ START_TEST(static)
test_set_text();
test_set_image();
test_STM_SETIMAGE();
- test_WM_CTLCOLORSTATIC();
DestroyWindow(hMainWnd);
More information about the wine-cvs
mailing list