[uxtheme/tests][8] Added a bit more functional tests to OpenThemeData

Paul Vriens Paul.Vriens at xs4all.nl
Thu Jun 22 10:14:18 CDT 2006


Hi,

a bit more flesh to the OpenThemeData test.

Changelog
  Added a bit more functional tests to OpenThemeData

Cheers,

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

diff --git a/dlls/uxtheme/tests/system.c b/dlls/uxtheme/tests/system.c
index 9a1c558..e2f0edd 100644
--- a/dlls/uxtheme/tests/system.c
+++ b/dlls/uxtheme/tests/system.c
@@ -166,9 +166,10 @@ static void test_SetWindowTheme(void)
 
 static void test_OpenThemeData(void)
 {
-    HTHEME    hTheme;
+    HTHEME    hTheme, hTheme2;
     HWND      hWnd;
     BOOL      bThemeActive;
+    HRESULT   hRes;
     BOOL      bDestroyed;
 
     WCHAR szInvalidClassList[] = {'D','E','A','D','B','E','E','F', 0 };
@@ -275,6 +276,40 @@ static void test_OpenThemeData(void)
             "Expected ERROR_SUCCESS, got 0x%08lx\n",
             GetLastError());
 
+    /* GetWindowTheme should return the last handle opened by OpenThemeData */
+    SetLastError(0xdeadbeef);
+    hTheme2 = pGetWindowTheme(hWnd);
+    ok( hTheme == hTheme2, "Expected the same HTHEME handle (%p<->%p)\n",
+        hTheme, hTheme2);
+    ok( GetLastError() == 0xdeadbeef,
+        "Expected 0xdeadbeef, got 0x%08lx\n",
+        GetLastError());
+
+    SetLastError(0xdeadbeef);
+    hRes = pCloseThemeData(hTheme);
+    ok( hRes == S_OK, "Expected S_OK, got 0x%08lx\n", hRes);
+    ok( GetLastError() == 0xdeadbeef,
+        "Expected 0xdeadbeef, got 0x%08lx\n",
+        GetLastError());
+
+    /* Close a second time */
+    SetLastError(0xdeadbeef);
+    hRes = pCloseThemeData(hTheme);
+    ok( hRes == S_OK, "Expected S_OK, got 0x%08lx\n", hRes);
+    ok( GetLastError() == 0xdeadbeef,
+        "Expected 0xdeadbeef, got 0x%08lx\n",
+        GetLastError());
+
+    /* See if closing makes a difference for GetWindowTheme */
+    SetLastError(0xdeadbeef);
+    hTheme2 = NULL;
+    hTheme2 = pGetWindowTheme(hWnd);
+    ok( hTheme == hTheme2, "Expected the same HTHEME handle (%p<->%p)\n",
+        hTheme, hTheme2);
+    ok( GetLastError() == 0xdeadbeef,
+        "Expected 0xdeadbeef, got 0x%08lx\n",
+        GetLastError());
+
     bDestroyed = DestroyWindow(hWnd);
     if (!bDestroyed)
         trace("Window %p couldn't be destroyed : 0x%08lx\n",
@@ -314,7 +349,7 @@ START_TEST(system)
     trace("Starting test_SetWindowTheme()\n");
     test_SetWindowTheme();
 
-    /* OpenThemeData */
+    /* OpenThemeData, a bit more functional now */
     trace("Starting test_OpenThemeData()\n");
     test_OpenThemeData();
 
-- 
1.4.0




More information about the wine-patches mailing list