No subject


Tue Aug 30 15:12:41 CDT 2005


Changelog:
	Andreas Rosenberg <andy at rosen-berg.de>
	testcases for high words of return value of CharUpper and CharLower.


Index: dlls/user/tests/wsprintf.c
===================================================================
RCS file: /home/wine/wine/dlls/user/tests/wsprintf.c,v
retrieving revision 1.4
diff -u -r1.4 wsprintf.c
--- dlls/user/tests/wsprintf.c	5 Sep 2003 23:08:29 -0000	1.4
+++ dlls/user/tests/wsprintf.c	12 Dec 2003 07:06:06 -0000
@@ -50,8 +50,51 @@
        "wsprintfW zero padded negative value failure");
 }
 
+/* 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