[ros-diffs] [gadamopoulos] 54025: [user32_apitest] - Add a couple of tests for the messages sent when changing the z-oder of windows with DeferWindowPos (this test ignores owners z-order)

gadamopoulos at svn.reactos.org gadamopoulos at svn.reactos.org
Thu Oct 6 14:19:06 UTC 2011


Author: gadamopoulos
Date: Thu Oct  6 14:19:04 2011
New Revision: 54025

URL: http://svn.reactos.org/svn/reactos?rev=54025&view=rev
Log:
[user32_apitest]
- Add a couple of tests for the messages sent when changing the z-oder of windows with DeferWindowPos (this test ignores owners z-order)

Modified:
    trunk/rostests/apitests/user32/DeferWindowPos.c

Modified: trunk/rostests/apitests/user32/DeferWindowPos.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/user32/DeferWindowPos.c?rev=54025&r1=54024&r2=54025&view=diff
==============================================================================
--- trunk/rostests/apitests/user32/DeferWindowPos.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/user32/DeferWindowPos.c [iso-8859-1] Thu Oct  6 14:19:04 2011
@@ -278,6 +278,19 @@
     {2,WM_MOVE},
     {0,0}};
 
+
+MSG_ENTRY ZOrder1_chain[]={
+      {1,WM_WINDOWPOSCHANGING, SENT, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE},
+      {1,WM_WINDOWPOSCHANGED,  SENT, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE | SWP_NOCLIENTMOVE|SWP_NOCLIENTSIZE},
+      {0,0}};
+
+MSG_ENTRY ZOrder1and2_chain[]={
+      {1,WM_WINDOWPOSCHANGING, SENT, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE},
+      {2,WM_WINDOWPOSCHANGING, SENT, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE},
+      {1,WM_WINDOWPOSCHANGED,  SENT, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE | SWP_NOCLIENTMOVE|SWP_NOCLIENTSIZE},
+      {2,WM_WINDOWPOSCHANGED,  SENT, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE | SWP_NOCLIENTMOVE|SWP_NOCLIENTSIZE},
+      {0,0}};
+
 static void Test_DWP_SimpleMsg(HWND hWnd1, HWND hWnd2)
 {
     HDWP hdwp;
@@ -291,8 +304,6 @@
     /* move hWnd1 */
     hdwp = BeginDeferWindowPos(1);
     ok(hdwp != NULL, "BeginDeferWindowPos failed\n");
-    FlushMessages();
-    COMPARE_CACHE(empty_chain);
     hdwp = DeferWindowPos(hdwp, hWnd1, HWND_TOP, 20, 30, 100, 100, SWP_NOACTIVATE|SWP_NOOWNERZORDER);
     ok(hdwp != NULL, "DeferWindowPos failed\n");
     FlushMessages();
@@ -305,8 +316,6 @@
     /* resize hWnd1 */
     hdwp = BeginDeferWindowPos(1);
     ok(hdwp != NULL, "BeginDeferWindowPos failed\n");
-    FlushMessages();
-    COMPARE_CACHE(empty_chain);
     hdwp = DeferWindowPos(hdwp, hWnd1, HWND_TOP, 20, 30, 110, 110, SWP_NOACTIVATE|SWP_NOOWNERZORDER);
     ok(hdwp != NULL, "DeferWindowPos failed\n");
     FlushMessages();
@@ -315,17 +324,12 @@
     ok(ret != 0, "EndDeferWindowPos failed\n");
     FlushMessages();
     COMPARE_CACHE(resize1_chain);
-
 
     /* move both windows */
     hdwp = BeginDeferWindowPos(1);
     ok(hdwp != NULL, "BeginDeferWindowPos failed\n");
-    FlushMessages();
-    COMPARE_CACHE(empty_chain);
     hdwp = DeferWindowPos(hdwp, hWnd1, HWND_TOP, 30, 40, 110, 110, SWP_NOACTIVATE|SWP_NOOWNERZORDER);
     ok(hdwp != NULL, "DeferWindowPos failed\n");
-    FlushMessages();
-    COMPARE_CACHE(empty_chain);
     hdwp = DeferWindowPos(hdwp, hWnd2, HWND_TOP, 30, 40, 100, 100, SWP_NOACTIVATE|SWP_NOOWNERZORDER);
     ok(hdwp != NULL, "DeferWindowPos failed\n");
     FlushMessages();
@@ -334,6 +338,33 @@
     ok(ret != 0, "EndDeferWindowPos failed\n");
     FlushMessages();
     COMPARE_CACHE(move1_2_chain);
+
+    /* change the z-order of the first window */
+    hdwp = BeginDeferWindowPos(1);
+    ok(hdwp != NULL, "BeginDeferWindowPos failed\n");
+    hdwp = DeferWindowPos(hdwp, hWnd1, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE);
+    ok(hdwp != NULL, "DeferWindowPos failed\n");
+    FlushMessages();
+    COMPARE_CACHE(empty_chain);
+    ret = EndDeferWindowPos(hdwp);
+    ok(ret != 0, "EndDeferWindowPos failed\n");
+    FlushMessages();
+    COMPARE_CACHE(ZOrder1_chain);
+
+    /* change the z-order of both windows */
+    hdwp = BeginDeferWindowPos(2);
+    ok(hdwp != NULL, "BeginDeferWindowPos failed\n");
+    hdwp = DeferWindowPos(hdwp, hWnd1, HWND_TOP, 0, 0, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE);
+    ok(hdwp != NULL, "DeferWindowPos failed\n");
+    hdwp = DeferWindowPos(hdwp, hWnd2, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOSIZE);
+    ok(hdwp != NULL, "DeferWindowPos failed\n");
+    FlushMessages();
+    COMPARE_CACHE(empty_chain);
+    ret = EndDeferWindowPos(hdwp);
+    ok(ret != 0, "EndDeferWindowPos failed\n");
+    FlushMessages();
+    COMPARE_CACHE(ZOrder1and2_chain);
+
 }
 
 #define OwnerZOrderAParams SWP_NOMOVE|SWP_NOACTIVATE|SWP_NOSIZE




More information about the Ros-diffs mailing list