You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-12-15 08:03:15 -08:00
Rebase against 1ec8bf9b739f1528b742169670eac2350b33a7d4.
This commit is contained in:
@@ -1,167 +1,36 @@
|
||||
From 4a846857e57963ceac9eb7302da17060facb12e3 Mon Sep 17 00:00:00 2001
|
||||
From b9eb0aeed5bc09d8a54c383c9d5149cacf36f1c3 Mon Sep 17 00:00:00 2001
|
||||
From: Louis Lenders <xerox.xerox2000x@gmail.com>
|
||||
Date: Wed, 5 Dec 2018 13:18:26 +0100
|
||||
Subject: [PATCH] dwmapi: add initial tests
|
||||
Subject: [PATCH] dwmapi: Add tests for DwmGetTransportAttributes().
|
||||
|
||||
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
|
||||
---
|
||||
configure | 1 +
|
||||
configure.ac | 1 +
|
||||
dlls/dwmapi/tests/Makefile.in | 5 ++
|
||||
dlls/dwmapi/tests/dwmapi.c | 108 ++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 115 insertions(+)
|
||||
create mode 100644 dlls/dwmapi/tests/Makefile.in
|
||||
create mode 100644 dlls/dwmapi/tests/dwmapi.c
|
||||
dlls/dwmapi/tests/dwmapi.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 588364f8e..ba145e3f4 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -20310,6 +20310,7 @@ wine_fn_config_makefile dlls/dssenh/tests enable_tests
|
||||
wine_fn_config_makefile dlls/dswave enable_dswave
|
||||
wine_fn_config_makefile dlls/dswave/tests enable_tests
|
||||
wine_fn_config_makefile dlls/dwmapi enable_dwmapi
|
||||
+wine_fn_config_makefile dlls/dwmapi/tests enable_tests
|
||||
wine_fn_config_makefile dlls/dwrite enable_dwrite
|
||||
wine_fn_config_makefile dlls/dwrite/tests enable_tests
|
||||
wine_fn_config_makefile dlls/dx8vb enable_dx8vb
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 0ad841773..0eb2ebbe6 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3267,6 +3267,7 @@ WINE_CONFIG_MAKEFILE(dlls/dssenh/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dswave)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dswave/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dwmapi)
|
||||
+WINE_CONFIG_MAKEFILE(dlls/dwmapi/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dwrite)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dwrite/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/dx8vb)
|
||||
diff --git a/dlls/dwmapi/tests/Makefile.in b/dlls/dwmapi/tests/Makefile.in
|
||||
new file mode 100644
|
||||
index 000000000..f365f96c7
|
||||
--- /dev/null
|
||||
+++ b/dlls/dwmapi/tests/Makefile.in
|
||||
@@ -0,0 +1,5 @@
|
||||
+TESTDLL = dwmapi.dll
|
||||
+IMPORTS = dwmapi
|
||||
+
|
||||
+C_SRCS = \
|
||||
+ dwmapi.c
|
||||
diff --git a/dlls/dwmapi/tests/dwmapi.c b/dlls/dwmapi/tests/dwmapi.c
|
||||
new file mode 100644
|
||||
index 000000000..7c51e77c4
|
||||
--- /dev/null
|
||||
index 1904e283bba..d79861f53ed 100644
|
||||
--- a/dlls/dwmapi/tests/dwmapi.c
|
||||
+++ b/dlls/dwmapi/tests/dwmapi.c
|
||||
@@ -0,0 +1,108 @@
|
||||
+/*
|
||||
+ * Unit tests for dwmapi
|
||||
+ *
|
||||
+ * Copyright 2018 Louis Lenders
|
||||
+ *
|
||||
+ * 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 "dwmapi.h"
|
||||
+
|
||||
+#include "wine/test.h"
|
||||
+
|
||||
+static HRESULT (WINAPI *pDwmIsCompositionEnabled)(BOOL*);
|
||||
+static HRESULT (WINAPI *pDwmEnableComposition)(UINT);
|
||||
+static HRESULT (WINAPI *pDwmGetTransportAttributes)(BOOL*,BOOL*,DWORD*);
|
||||
+
|
||||
+BOOL dwmenabled;
|
||||
+
|
||||
+static void test_isdwmenabled(void)
|
||||
+{
|
||||
+ HRESULT res;
|
||||
+ BOOL ret;
|
||||
+
|
||||
+ ret = -1;
|
||||
+ res = pDwmIsCompositionEnabled(&ret);
|
||||
+ ok((res == S_OK && ret == TRUE) || (res == S_OK && ret == FALSE), "got %x and %d\n", res, ret);
|
||||
+
|
||||
+ if (res == S_OK && ret == TRUE)
|
||||
+ dwmenabled = TRUE;
|
||||
+ else
|
||||
+ dwmenabled = FALSE;
|
||||
+ /*tested on win7 by enabling/disabling DWM service via services.msc*/
|
||||
+ if (dwmenabled)
|
||||
+ {
|
||||
+ res = pDwmEnableComposition(DWM_EC_DISABLECOMPOSITION); /* try disable and reenable dwm*/
|
||||
+ ok(res == S_OK, "got %x expected S_OK\n", res);
|
||||
+
|
||||
+ ret = -1;
|
||||
+ res = pDwmIsCompositionEnabled(&ret);
|
||||
+ ok((res == S_OK && ret == FALSE) /*wvista win7*/ || (res == S_OK && ret == TRUE) /*>win7*/, "got %x and %d\n", res, ret);
|
||||
+
|
||||
+ res = pDwmEnableComposition(DWM_EC_ENABLECOMPOSITION);
|
||||
+ ok(res == S_OK, "got %x\n", res);
|
||||
+
|
||||
+ ret = -1;
|
||||
+ res = pDwmIsCompositionEnabled(&ret);
|
||||
+ todo_wine ok(res == S_OK && ret == TRUE, "got %x and %d\n", res, ret);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ res = pDwmEnableComposition(DWM_EC_ENABLECOMPOSITION); /*cannot enable DWM composition this way*/
|
||||
+ ok(res == S_OK /*win7 testbot*/ || res == DWM_E_COMPOSITIONDISABLED /*win7 laptop*/, "got %x\n", res);
|
||||
+ if (winetest_debug > 1)
|
||||
+ trace("returning %x\n", res);
|
||||
+
|
||||
+ ret = -1;
|
||||
+ res = pDwmIsCompositionEnabled(&ret);
|
||||
+ ok(res == S_OK && ret == FALSE, "got %x and %d\n", res, ret);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
@@ -33,7 +33,18 @@ static void test_DwmIsCompositionEnabled(void)
|
||||
ok(enabled == TRUE || enabled == FALSE, "Got unexpected %#x.\n", enabled);
|
||||
}
|
||||
|
||||
+static void test_dwm_get_transport_attributes(void)
|
||||
+{
|
||||
+ BOOL isremoting, isconnected;
|
||||
+ DWORD generation;
|
||||
+ HRESULT res;
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ res = pDwmGetTransportAttributes(&isremoting, &isconnected, &generation);
|
||||
+ if (dwmenabled)
|
||||
+ ok(res == S_OK, "got %x\n", res);
|
||||
+ else
|
||||
+ {
|
||||
+ ok(res == S_OK /*win7 testbot*/ || res == DWM_E_COMPOSITIONDISABLED /*win7 laptop*/, "got %x\n", res);
|
||||
+ if (winetest_debug > 1)
|
||||
+ trace("returning %x\n", res);
|
||||
+ }
|
||||
+ hr = DwmGetTransportAttributes(&isremoting, &isconnected, &generation);
|
||||
+ ok(hr == S_OK || hr == DWM_E_COMPOSITIONDISABLED, "Got unexpected %#x.\n", hr);
|
||||
+}
|
||||
+
|
||||
+START_TEST(dwmapi)
|
||||
+{
|
||||
+ HMODULE hmod = LoadLibraryA("dwmapi.dll");
|
||||
+
|
||||
+ if (!hmod)
|
||||
+ {
|
||||
+ trace("dwmapi not found, skipping tests\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ pDwmIsCompositionEnabled = (void *)GetProcAddress(hmod, "DwmIsCompositionEnabled");
|
||||
+ pDwmEnableComposition = (void *)GetProcAddress(hmod, "DwmEnableComposition");
|
||||
+ pDwmGetTransportAttributes = (void *)GetProcAddress(hmod, "DwmGetTransportAttributes");
|
||||
+
|
||||
+ test_isdwmenabled();
|
||||
START_TEST(dwmapi)
|
||||
{
|
||||
test_DwmIsCompositionEnabled();
|
||||
+ test_dwm_get_transport_attributes();
|
||||
+}
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
2.27.0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user