PATCH: tests for CharLower and CharUpper return values

Marcus Meissner marcus at jet.franken.de
Sat May 6 08:18:54 CDT 2006


Hi,

Ciao, Marcus

Changelog:
	Added tests for CharUpper and CharLower.

Index: dlls/user/tests/wsprintf.c
===================================================================
RCS file: /home/wine/wine/dlls/user/tests/wsprintf.c,v
retrieving revision 1.5
diff -u -r1.5 wsprintf.c
--- dlls/user/tests/wsprintf.c	23 Jan 2004 20:50:35 -0000	1.5
+++ dlls/user/tests/wsprintf.c	6 May 2006 13:18:05 -0000
@@ -50,8 +50,51 @@
        "wsprintfW zero padded negative value failure\n");
 }
 
+/* Test if the CharUpper / CharLower functions return true 16 bit results,
+   if the input is a 16 bit input value. Upto Wine 11-2003 the input value
+   0xff returns 0xffffffff. */
+
+static void CharUpperTest(void)
+{
+    int i,out,failed;
+
+    failed = 0;
+    for (i=0;i<256;i++)
+    	{
+	out = (int) CharUpper((LPTSTR)i);
+	/* printf("%0x ",out); */
+	if ((out >> 16) != 0)
+	   {
+	   failed = 1;
+	   break;
+	   }
+	}
+    ok(!failed,"CharUpper failed - 16bit input (0x%0x) returned 32bit result (0x%0x)",i,out);
+}
+
+static void CharLowerTest(void)
+{
+    int i,out,failed;
+
+    failed = 0;
+    for (i=0;i<256;i++)
+    	{
+	out = (int) CharLower((LPTSTR)i);
+	/* printf("%0x ",out); */
+	if ((out >> 16) != 0)
+	   {
+	   failed = 1;
+	   break;
+	   }
+	}
+    ok(!failed,"CharLower failed - 16bit input (0x%0x) returned 32bit result (0x%0x)",i,out);
+}
+
+
 START_TEST(wsprintf)
 {
     wsprintfATest();
     wsprintfWTest();
+    CharUpperTest();
+    CharLowerTest();
 }



More information about the wine-patches mailing list