[uxtheme/tests][2] Added test for IsAppThemed and grouped it with IsThemeActive

Paul Vriens Paul.Vriens at xs4all.nl
Mon Jun 19 14:02:56 CDT 2006


Hi,

added a new test and re-grouped.

Tests succeed on Wine (theming enabled/disabled), WinXP (theming
enabled) and W2K3 (theming disabled).

Changelog
  Added IsAppThemed test and re-grouped.

Cheers,

Paul.
--- 
 dlls/uxtheme/tests/system.c |   41 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 37 insertions(+), 4 deletions(-)

diff --git a/dlls/uxtheme/tests/system.c b/dlls/uxtheme/tests/system.c
index 5c5fa31..3aa5582 100644
--- a/dlls/uxtheme/tests/system.c
+++ b/dlls/uxtheme/tests/system.c
@@ -26,6 +26,7 @@ #include "uxtheme.h"
 #include "wine/test.h"
 
 static HRESULT (WINAPI * pCloseThemeData)(HTHEME);
+static BOOL    (WINAPI * pIsAppThemed)(VOID);
 static BOOL    (WINAPI * pIsThemeActive)(VOID);
 static HTHEME  (WINAPI * pOpenThemeData)(HWND, LPCWSTR);
 static HRESULT (WINAPI * pSetWindowTheme)(HWND, LPCWSTR, LPCWSTR);
@@ -50,6 +51,7 @@ static BOOL InitFunctionPtrs(void)
     if (hUxtheme)
     {
       UXTHEME_GET_PROC(CloseThemeData)
+      UXTHEME_GET_PROC(IsAppThemed)
       UXTHEME_GET_PROC(IsThemeActive)
       UXTHEME_GET_PROC(OpenThemeData)
       UXTHEME_GET_PROC(SetWindowTheme)
@@ -57,6 +59,36 @@ static BOOL InitFunctionPtrs(void)
     return TRUE;
 }
 
+static void test_IsThemed(void)
+{
+    BOOL bThemeActive;
+    BOOL bAppThemed;
+
+    SetLastError(0xdeadbeef);
+    bThemeActive = pIsThemeActive();
+    trace("Theming is %s\n", (bThemeActive) ? "active" : "inactive");
+    todo_wine
+        ok( GetLastError() == ERROR_SUCCESS,
+            "Expected ERROR_SUCCESS, got 0x%08lx\n",
+            GetLastError());
+
+    /* This test is not themed */
+    SetLastError(0xdeadbeef);
+    bAppThemed = pIsAppThemed();
+
+    if (bThemeActive)
+        todo_wine
+            ok( bAppThemed == FALSE, "Expected FALSE as this test executable is not (yet) themed.\n");
+    else
+        /* Although Wine currently returns FALSE, the logic behind it is wrong. It is not a todo_wine though in the testing sense */
+        ok( bAppThemed == FALSE, "Expected FALSE as this test executable is not (yet) themed.\n");
+
+    todo_wine
+        ok( GetLastError() == ERROR_SUCCESS,
+            "Expected ERROR_SUCCESS, got 0x%08lx\n",
+            GetLastError());
+}
+
 static void test_SetWindowTheme(void)
 {
     HRESULT hRes;
@@ -88,10 +120,6 @@ static void test_OpenThemeData(void)
 
     SetLastError(0xdeadbeef);
     bThemeActive = pIsThemeActive();
-    todo_wine
-        ok( GetLastError() == ERROR_SUCCESS,
-            "Expected ERROR_SUCCESS, got 0x%08lx\n",
-            GetLastError());
 
     /* All NULL */
     SetLastError(0xdeadbeef);
@@ -204,6 +232,11 @@ START_TEST(system)
      * only show input/return behaviour
      */
 
+    /* IsThemeActive and IsAppThemed */
+    trace("Starting test_IsThemed()\n");
+    if (pIsAppThemed && pIsThemeActive)
+        test_IsThemed();
+
     /* SetWindowTheme */
     trace("Starting test_SetWindowTheme()\n");
     if (pSetWindowTheme)
-- 
1.4.0




More information about the wine-patches mailing list