Module: wine
Branch: master
Commit: b6818e2c20e756ea52fb7d783e283b2ee6b6b9a6
URL: https://gitlab.winehq.org/wine/wine/-/commit/b6818e2c20e756ea52fb7d783e283b…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com>
Date: Tue Nov 15 10:39:30 2022 +0800
explorer/tests: Add taskbar tests.
---
configure | 1 +
configure.ac | 1 +
programs/explorer/tests/Makefile.in | 5 ++++
programs/explorer/tests/explorer.c | 51 +++++++++++++++++++++++++++++++++++++
4 files changed, 58 insertions(+)
diff --git a/configure b/configure
index 8f780aff3ad..71dfee4444e 100755
--- a/configure
+++ b/configure
@@ -22063,6 +22063,7 @@ wine_fn_config_makefile programs/dxdiag enable_dxdiag
wine_fn_config_makefile programs/eject enable_eject
wine_fn_config_makefile programs/expand enable_expand
wine_fn_config_makefile programs/explorer enable_explorer
+wine_fn_config_makefile programs/explorer/tests enable_tests
wine_fn_config_makefile programs/extrac32 enable_extrac32
wine_fn_config_makefile programs/fc enable_fc
wine_fn_config_makefile programs/find enable_find
diff --git a/configure.ac b/configure.ac
index 1d0ae5c3fc2..cc3f42ecbf0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3348,6 +3348,7 @@ WINE_CONFIG_MAKEFILE(programs/dxdiag)
WINE_CONFIG_MAKEFILE(programs/eject)
WINE_CONFIG_MAKEFILE(programs/expand)
WINE_CONFIG_MAKEFILE(programs/explorer)
+WINE_CONFIG_MAKEFILE(programs/explorer/tests)
WINE_CONFIG_MAKEFILE(programs/extrac32)
WINE_CONFIG_MAKEFILE(programs/fc)
WINE_CONFIG_MAKEFILE(programs/find)
diff --git a/programs/explorer/tests/Makefile.in b/programs/explorer/tests/Makefile.in
new file mode 100644
index 00000000000..01dfc134fe5
--- /dev/null
+++ b/programs/explorer/tests/Makefile.in
@@ -0,0 +1,5 @@
+TESTDLL = explorer.exe
+IMPORTS = user32
+
+C_SRCS = \
+ explorer.c
diff --git a/programs/explorer/tests/explorer.c b/programs/explorer/tests/explorer.c
new file mode 100644
index 00000000000..c9ed7a900f2
--- /dev/null
+++ b/programs/explorer/tests/explorer.c
@@ -0,0 +1,51 @@
+/*
+ * Explorer.exe tests
+ *
+ * Copyright 2022 Zhiyi Zhang for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <windows.h>
+#include "wine/test.h"
+
+static void test_taskbar(void)
+{
+ RECT taskbar_rect, expected_rect, primary_rect, work_rect;
+ HWND hwnd;
+ BOOL ret;
+
+ hwnd = FindWindowA("Shell_TrayWnd", NULL);
+ if (!hwnd)
+ {
+ skip("Failed to find the taskbar window.\n");
+ return;
+ }
+
+ ret = GetWindowRect(hwnd, &taskbar_rect);
+ ok(ret, "GetWindowRect failed, error %ld.\n", GetLastError());
+
+ SystemParametersInfoW(SPI_GETWORKAREA, 0, &work_rect, 0);
+ SetRect(&primary_rect, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
+ SubtractRect(&expected_rect, &primary_rect, &work_rect);
+ todo_wine
+ ok(EqualRect(&taskbar_rect, &expected_rect), "Expected %s, got %s.\n",
+ wine_dbgstr_rect(&expected_rect), wine_dbgstr_rect(&taskbar_rect));
+}
+
+START_TEST(explorer)
+{
+ test_taskbar();
+}