Author: gadamopoulos
Date: Fri Sep 23 14:09:30 2011
New Revision: 53813

URL: http://svn.reactos.org/svn/reactos?rev=53813&view=rev
Log:
[user32_apitest]
- Simplify compare_cache and make it show more meaningful results

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

Modified: trunk/rostests/apitests/user32/helper.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/user32/helper.c?rev=53813&r1=53812&r2=53813&view=diff
==============================================================================
--- trunk/rostests/apitests/user32/helper.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/user32/helper.c [iso-8859-1] Fri Sep 23 14:09:30 
2011
@@ -42,91 +42,78 @@
     }
 }
 
+static char* get_hook_name(UINT id)
+{
+    switch (id)
+    {
+        case WH_KEYBOARD: return "WH_KEYBOARD";
+        case WH_KEYBOARD_LL: return "WH_KEYBOARD_LL";
+        case WH_MOUSE: return "WH_MOUSE";
+        case WH_MOUSE_LL: return "WH_MOUSE_LL";
+        default: return NULL;
+    }
+}
+
 void empty_message_cache()
 {
     memset(message_cache, 0, sizeof(message_cache));
     message_cache_size = 0;
 }
 
+void sprintf_msg_entry(char* buffer, MSG_ENTRY* msg)
+{
+    if(!msg->iwnd && !msg->msg)
+    {
+        sprintf(buffer, "nothing");
+    }
+    else 
+    {
+        char* msgName = msg->hook ? get_hook_name(msg->msg) : 
get_msg_name(msg->msg);
+        char* msgType = msg->hook ? "hook" : "msg";
+        if(msgName)
+            sprintf(buffer, "hwnd%d %s %s %d %d", msg->iwnd, msgType, msgName, 
msg->param1, msg->param2); 
+        else
+            sprintf(buffer, "hwnd%d %s %d %d %d", msg->iwnd, msgType, 
msg->msg, msg->param1, msg->param2); 
+    }
+}
+
 void trace_cache(const char* file, int line)
 {
     int i;
+    char buff[100];
     char *szMsgName;
 
     for (i=0; i < message_cache_size; i++)
     {
-        if(!message_cache[i].hook)
-        {
-            if((szMsgName = get_msg_name(message_cache[i].msg)))
-            {
-                trace_(file,line)("hwnd%d, msg:%s\n",message_cache[i].iwnd, 
szMsgName );
-            }
-            else
-            {
-                trace_(file,line)("hwnd%d, msg:%d\n",message_cache[i].iwnd, 
message_cache[i].msg );
-            }
-        }
-        else
-        {
-            trace_(file,line)("hwnd%d, hook:%d, param1:%d, 
param2:%d\n",message_cache[i].iwnd, 
-                                                            
message_cache[i].msg,
-                                                            
message_cache[i].param1,
-                                                            
message_cache[i].param2);
-        }
+        sprintf_msg_entry(buff, &message_cache[i]);
+        trace_(file,line)("%s\n", buff);
     }
-    trace("\n");
+    trace_(file,line)("\n");
 }
 
 void compare_cache(const char* file, int line, MSG_ENTRY *msg_chain)
 {
     int i = 0;
+    char buffGot[100], buffExp[100];
     BOOL got_error = FALSE;
 
     while(1)
     {
-        char *szMsgExpected, *szMsgGot;
         BOOL same = !memcmp(&message_cache[i],msg_chain, sizeof(MSG_ENTRY));
 
-        szMsgExpected = get_msg_name(msg_chain->msg);
-        szMsgGot = get_msg_name(message_cache[i].msg);
-        if(!msg_chain->hook)
-        {
-            if(szMsgExpected && szMsgGot)
-            {
-                ok_(file,line)(same,
-                   "message %d: expected %s to hwnd%d and got %s to hwnd%d\n",
-                    i, szMsgExpected, msg_chain->iwnd, szMsgGot, 
message_cache[i].iwnd);    
-            }
-            else
-            {
-                ok_(file,line)(same,
-                   "message %d: expected msg %d to hwnd%d and got msg %d to 
hwnd%d\n",
-                    i, msg_chain->msg, msg_chain->iwnd, message_cache[i].msg, 
message_cache[i].iwnd);
-            }
-        }
-        else
-        {
-            ok_(file,line)(same,
-               "message %d: expected hook %d, hwnd%d, param1 %d, param2 %d and 
got hook %d, hwnd%d, param1 %d, param2 %d\n",
-                i, msg_chain->msg, msg_chain->iwnd,msg_chain->param1, 
msg_chain->param2,
-               message_cache[i].msg, message_cache[i].iwnd, 
message_cache[i].param1, message_cache[i].param2);
-        }
+        sprintf_msg_entry(buffGot, &message_cache[i]);
+        sprintf_msg_entry(buffExp, msg_chain);
+        ok_(file,line)(same,"got %s, expected %s\n", buffGot, buffExp);
 
         if(!got_error && !same)
-        {
             got_error = TRUE;
-        }
 
         if(msg_chain->msg !=0 && msg_chain->iwnd != 0)
-        {
             msg_chain++;
-        }
         else
         {
             if(i>message_cache_size)
-            {
                 break;
-            }
         }
         i++;
     }


Reply via email to