From cf0704bd883ca15a54d4f7eede42349ed2bc4a50 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sat, 6 May 2006 15:18:54 +0200 Subject: [PATCH] user32: Added tests for CharUpper and CharLower. --- dlls/user/tests/wsprintf.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/dlls/user/tests/wsprintf.c b/dlls/user/tests/wsprintf.c index bbebdd75f9d..d4bcd4ce90b 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(); } -- 2.11.4.GIT