Paul Vriens : user32/tests: Don't run unicode tests if not supported.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Apr 5 06:42:54 CDT 2007


Module: wine
Branch: master
Commit: 9707a2de5876352843c6bd8238d415e65222ec59
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9707a2de5876352843c6bd8238d415e65222ec59

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Thu Apr  5 11:21:53 2007 +0200

user32/tests: Don't run unicode tests if not supported.

---

 dlls/user32/tests/menu.c |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
index 601228a..0fb2ced 100644
--- a/dlls/user32/tests/menu.c
+++ b/dlls/user32/tests/menu.c
@@ -526,6 +526,7 @@ static void test_menu_add_string( void )
     HMENU hmenu;
     MENUITEMINFO info;
     BOOL rc;
+    int ret;
 
     char string[0x80];
     char string2[0x80];
@@ -571,8 +572,15 @@ static void test_menu_add_string( void )
     ok (GetMenuString( hmenu, 0, strback, 99, MF_BYPOSITION), "GetMenuString on ownerdraw entry failed\n");
     ok (!strcmp( strback, "Dummy string" ), "Menu text from Ansi version incorrect\n");
 
-    ok (GetMenuStringW( hmenu, 0, (WCHAR *)strbackW, 99, MF_BYPOSITION), "GetMenuStringW on ownerdraw entry failed\n");
-    ok (!lstrcmpW( strbackW, expectedString ), "Menu text from Unicode version incorrect\n");
+    SetLastError(0xdeadbeef);
+    ret = GetMenuStringW( hmenu, 0, (WCHAR *)strbackW, 99, MF_BYPOSITION);
+    if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+        skip("GetMenuStringW is not implemented\n");
+    else
+    {
+        ok (ret, "GetMenuStringW on ownerdraw entry failed\n");
+        ok (!lstrcmpW( strbackW, expectedString ), "Menu text from Unicode version incorrect\n");
+    }
 
     /* Just change ftype to string and see what text is stored */
     memset(&info, 0x00, sizeof(info));
@@ -627,9 +635,12 @@ static void test_menu_add_string( void )
     ok (rc, "InsertMenuItem failed\n");
     ok (!GetMenuString( hmenu, 0, NULL, 0, MF_BYPOSITION),
             "GetMenuString on ownerdraw entry succeeded.\n");
-    ok (!GetMenuStringW( hmenu, 0, NULL, 0, MF_BYPOSITION),
-            "GetMenuStringW on ownerdraw entry succeeded.\n");
-
+    SetLastError(0xdeadbeef);
+    ret = GetMenuStringW( hmenu, 0, NULL, 0, MF_BYPOSITION);
+    if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+        skip("GetMenuStringW is not implemented\n");
+    else
+        ok (!ret, "GetMenuStringW on ownerdraw entry succeeded.\n");
 
     DestroyMenu( hmenu );
 }
@@ -681,6 +692,11 @@ static  WCHAR *strcpyW( WCHAR *dst, const WCHAR *src )
     else strcpyW( (WCHAR*)string, (WCHAR*)init);\
     if( ansi) ret = InsertMenuItemA(hmenu, 0, TRUE, &info1 );\
     else ret = InsertMenuItemW(hmenu, 0, TRUE, (MENUITEMINFOW*)&info1 );\
+    if( GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)\
+    {\
+        skip("InsertMenuItem%s not implemented\n", ansi ? "A" : "W");\
+        break;\
+    }\
     if( !(eret1)) { ok( (eret1)==ret,"InsertMenuItem should have failed.\n");\
         stop = TRUE;\
     } else ok( (eret1)==ret,"InsertMenuItem failed, err %d\n",GetLastError());\
@@ -697,8 +713,14 @@ static  WCHAR *strcpyW( WCHAR *dst, const WCHAR *src )
   MENUITEMINFOA *einfo = &einfoA;\
   MENUITEMINFOW *info2W = (MENUITEMINFOW *)&info2A;\
   if( !stop) {\
+    SetLastError( 0xdeadbeef);\
     ret = ansi ? GetMenuItemInfoA( hmenu, 0, TRUE, info2 ) :\
         GetMenuItemInfoW( hmenu, 0, TRUE, info2W );\
+    if( GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)\
+    {\
+        skip("GetMenuItemInfo%s not implemented\n", ansi ? "A" : "W");\
+        break;\
+    }\
     if( !(eret2)) ok( (eret2)==ret,"GetMenuItemInfo should have failed.\n");\
     else { \
       ok( (eret2)==ret,"GetMenuItemInfo failed, err %d\n",GetLastError());\
@@ -730,8 +752,14 @@ submenu = CreateMenu();\
 /* modify menu */
 #define TMII_MODM( flags, id, data, eret  )\
 if( !stop) {\
+    SetLastError( 0xdeadbeef);\
     if(ansi)ret = ModifyMenuA( hmenu, 0, flags, (UINT_PTR)id, (char*)data);\
     else ret = ModifyMenuW( hmenu, 0, flags, (UINT_PTR)id, (WCHAR*)data);\
+    if( GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)\
+    {\
+        skip("ModifyMenu%s not implemented\n", ansi ? "A" : "W");\
+        break;\
+    }\
     if( !(eret)) ok( (eret)==ret,"ModifyMenuA should have failed.\n");\
     else  ok( (eret)==ret,"ModifyMenuA failed, err %d\n",GetLastError());\
 }
@@ -746,6 +774,11 @@ if( !stop) {\
     else strcpyW( (WCHAR*)string, (WCHAR*)init);\
     if( ansi) ret = SetMenuItemInfoA(hmenu, 0, TRUE, &info1 );\
     else ret = SetMenuItemInfoW(hmenu, 0, TRUE, (MENUITEMINFOW*)&info1 );\
+    if( GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)\
+    {\
+        skip("SetMenuItemInfo%s not implemented\n", ansi ? "A" : "W");\
+        break;\
+    }\
     if( !(eret1)) { ok( (eret1)==ret,"InsertMenuItem should have failed.\n");\
         stop = TRUE;\
     } else ok( (eret1)==ret,"InsertMenuItem failed, err %d\n",GetLastError());\




More information about the wine-cvs mailing list