Module: wine Branch: refs/heads/master Commit: cf0704bd883ca15a54d4f7eede42349ed2bc4a50 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=cf0704bd883ca15a54d4f7ee...
Author: Marcus Meissner marcus@jet.franken.de Date: Sat May 6 15:18:54 2006 +0200
user32: Added tests for CharUpper and CharLower.
---
dlls/user/tests/wsprintf.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/dlls/user/tests/wsprintf.c b/dlls/user/tests/wsprintf.c index bbebdd7..d4bcd4c 100644 --- a/dlls/user/tests/wsprintf.c +++ b/dlls/user/tests/wsprintf.c @@ -50,8 +50,51 @@ static void wsprintfWTest(void) "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(); }