|
|
/*++
Copyright (c) 1991-1999, Microsoft Corporation All rights reserved.
Module Name:
slitest.c
Abstract:
Test module for NLS API SetLocaleInfo.
NOTE: This code was simply hacked together quickly in order to test the different code modules of the NLS component. This is NOT meant to be a formal regression test.
Revision History:
07-14-93 JulieB Created.
--*/
//
// Include Files.
//
#include "nlstest.h"
//
// Constant Declarations.
//
#define BUFSIZE 100 // buffer size in wide chars
#define LCTYPE_INVALID 0x0000002 // invalid LCTYPE
//
// Global Variables.
//
LCID Locale;
WCHAR lpLCData[BUFSIZE]; WCHAR pTemp[BUFSIZE]; WCHAR pSList[BUFSIZE]; WCHAR pSTimeFormat[BUFSIZE]; WCHAR pSTime[BUFSIZE]; WCHAR pITime[BUFSIZE]; WCHAR pSShortDate[BUFSIZE]; WCHAR pSDate[BUFSIZE];
//
// Forward Declarations.
//
BOOL InitSetLocInfo();
int SLI_BadParamCheck();
int SLI_NormalCase();
int SLI_Ansi();
////////////////////////////////////////////////////////////////////////////
//
// TestSetLocaleInfo
//
// Test routine for SetLocaleInfoW API.
//
// 07-14-93 JulieB Created.
////////////////////////////////////////////////////////////////////////////
int TestSetLocaleInfo() { int ErrCount = 0; // error count
//
// Print out what's being done.
//
printf("\n\nTESTING SetLocaleInfoW...\n\n");
//
// Initialize global variables.
//
if (!InitSetLocInfo()) { printf("\nABORTED TestSetLocaleInfo: Could not Initialize.\n"); return (1); }
//
// Test bad parameters.
//
ErrCount += SLI_BadParamCheck();
//
// Test normal cases.
//
ErrCount += SLI_NormalCase();
//
// Test Ansi version.
//
ErrCount += SLI_Ansi();
//
// Print out result.
//
printf("\nSetLocaleInfoW: ERRORS = %d\n", ErrCount);
//
// Return total number of errors found.
//
return (ErrCount); }
////////////////////////////////////////////////////////////////////////////
//
// InitSetLocInfo
//
// This routine initializes the global variables. If no errors were
// encountered, then it returns TRUE. Otherwise, it returns FALSE.
//
// 07-14-93 JulieB Created.
////////////////////////////////////////////////////////////////////////////
BOOL InitSetLocInfo() { //
// Make a Locale.
//
Locale = MAKELCID(0x0409, 0);
//
// Save the SLIST value to be restored later.
//
if ( !GetLocaleInfoW( Locale, LOCALE_SLIST, pSList, BUFSIZE ) ) { printf("ERROR: Initialization SLIST - error = %d\n", GetLastError()); return (FALSE); }
if ( !GetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, pSTimeFormat, BUFSIZE ) ) { printf("ERROR: Initialization STIMEFORMAT - error = %d\n", GetLastError()); return (FALSE); }
if ( !GetLocaleInfoW( Locale, LOCALE_STIME, pSTime, BUFSIZE ) ) { printf("ERROR: Initialization STIME - error = %d\n", GetLastError()); return (FALSE); }
if ( !GetLocaleInfoW( Locale, LOCALE_ITIME, pITime, BUFSIZE ) ) { printf("ERROR: Initialization ITIME - error = %d\n", GetLastError()); return (FALSE); }
if ( !GetLocaleInfoW( Locale, LOCALE_SSHORTDATE, pSShortDate, BUFSIZE ) ) { printf("ERROR: Initialization SSHORTDATE - error = %d\n", GetLastError()); return (FALSE); }
if ( !GetLocaleInfoW( Locale, LOCALE_SDATE, pSDate, BUFSIZE ) ) { printf("ERROR: Initialization SDATE - error = %d\n", GetLastError()); return (FALSE); }
//
// Return success.
//
return (TRUE); }
////////////////////////////////////////////////////////////////////////////
//
// SLI_BadParamCheck
//
// This routine passes in bad parameters to the API routines and checks to
// be sure they are handled properly. The number of errors encountered
// is returned to the caller.
//
// 07-14-93 JulieB Created.
////////////////////////////////////////////////////////////////////////////
int SLI_BadParamCheck() { int NumErrors = 0; // error count - to be returned
int rc; // return code
//
// Bad Locale.
//
// Variation 1 - Bad Locale
rc = SetLocaleInfoW( (LCID)333, LOCALE_SLIST, L"," ); CheckReturnBadParam( rc, 0, ERROR_INVALID_PARAMETER, "Bad Locale", &NumErrors );
//
// Null Pointers.
//
// Variation 1 - lpLCData = NULL
rc = SetLocaleInfoW( Locale, LOCALE_SLIST, NULL ); CheckReturnBadParam( rc, 0, ERROR_INVALID_PARAMETER, "lpLCData NULL", &NumErrors );
//
// Zero or Invalid Type.
//
// Variation 1 - LCType = invalid
rc = SetLocaleInfoW( Locale, LCTYPE_INVALID, L"," ); CheckReturnBadParam( rc, 0, ERROR_INVALID_FLAGS, "LCType invalid", &NumErrors );
// Variation 2 - LCType = 0
rc = SetLocaleInfoW( Locale, 0, L"," ); CheckReturnBadParam( rc, 0, ERROR_INVALID_FLAGS, "LCType zero", &NumErrors );
// Variation 1 - Use CP ACP, LCType = invalid
rc = SetLocaleInfoW( Locale, LOCALE_USE_CP_ACP | LCTYPE_INVALID, L"," ); CheckReturnBadParam( rc, 0, ERROR_INVALID_FLAGS, "Use CP ACP, LCType invalid", &NumErrors );
//
// Return total number of errors found.
//
return (NumErrors); }
////////////////////////////////////////////////////////////////////////////
//
// SLI_NormalCase
//
// This routine tests the normal cases of the API routine.
//
// 07-14-93 JulieB Created.
////////////////////////////////////////////////////////////////////////////
int SLI_NormalCase() { int NumErrors = 0; // error count - to be returned
int rc; // return code
#ifdef PERF
DbgBreakPoint();
#endif
//
// Locales.
//
// Variation 1 - System Default Locale
rc = SetLocaleInfoW( LOCALE_SYSTEM_DEFAULT, LOCALE_SLIST, L"::" ); CheckReturnEqual( rc, FALSE, "SET - system default locale", &NumErrors ); rc = GetLocaleInfoW( LOCALE_SYSTEM_DEFAULT, LOCALE_SLIST, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"::", "GET - system default locale", &NumErrors );
// Variation 2 - Current User Locale
rc = SetLocaleInfoW( LOCALE_USER_DEFAULT, LOCALE_SLIST, L";;" ); CheckReturnEqual( rc, FALSE, "SET - current user locale", &NumErrors ); rc = GetLocaleInfoW( LOCALE_USER_DEFAULT, LOCALE_SLIST, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L";;", "GET - current user locale", &NumErrors );
//
// Use CP ACP.
//
// Variation 1 - Use CP ACP, System Default Locale
rc = SetLocaleInfoW( LOCALE_SYSTEM_DEFAULT, LOCALE_USE_CP_ACP | LOCALE_SLIST, L".." ); CheckReturnEqual( rc, FALSE, "SET - Use CP ACP, system default locale", &NumErrors ); rc = GetLocaleInfoW( LOCALE_SYSTEM_DEFAULT, LOCALE_USE_CP_ACP | LOCALE_SLIST, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"..", "GET - Use CP ACP, system default locale", &NumErrors );
//
// LCTYPE values.
//
// Variation 1 - SLIST
rc = SetLocaleInfoW( Locale, LOCALE_SLIST, L"::::" ); CheckReturnEqual( rc, TRUE, "SET - MAX SLIST", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SLIST, L"''" ); CheckReturnEqual( rc, FALSE, "SET - SLIST", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SLIST, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"''", "GET - SLIST", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SLIST, pSList ); CheckReturnEqual( rc, FALSE, "ReSET - SLIST", &NumErrors );
// Variation 2 - IMEASURE
rc = GetLocaleInfoW( Locale, LOCALE_IMEASURE, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current IMEASURE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IMEASURE, L"2" ); CheckReturnEqual( rc, TRUE, "SET - invalid IMEASURE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IMEASURE, L"0" ); CheckReturnEqual( rc, FALSE, "SET - IMEASURE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IMEASURE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"0", "GET - IMEASURE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IMEASURE, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - IMEASURE", &NumErrors );
// Variation 3 - SDECIMAL
rc = GetLocaleInfoW( Locale, LOCALE_SDECIMAL, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SDECIMAL", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDECIMAL, L"[][]" ); CheckReturnEqual( rc, TRUE, "SET - invalid SDECIMAL", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDECIMAL, L"6" ); CheckReturnEqual( rc, TRUE, "SET - invalid SDECIMAL (6)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDECIMAL, L"{" ); CheckReturnEqual( rc, FALSE, "SET - SDECIMAL", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SDECIMAL, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"{", "GET - SDECIMAL", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDECIMAL, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SDECIMAL", &NumErrors );
// Variation 4 - STHOUSAND
rc = GetLocaleInfoW( Locale, LOCALE_STHOUSAND, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current STHOUSAND", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STHOUSAND, L"[][]" ); CheckReturnEqual( rc, TRUE, "SET - invalid STHOUSAND", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STHOUSAND, L"6" ); CheckReturnEqual( rc, TRUE, "SET - invalid STHOUSAND (6)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STHOUSAND, L"{" ); CheckReturnEqual( rc, FALSE, "SET - STHOUSAND", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STHOUSAND, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"{", "GET - STHOUSAND", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STHOUSAND, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - STHOUSAND", &NumErrors );
// Variation 5 - SGROUPING
rc = GetLocaleInfoW( Locale, LOCALE_SGROUPING, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SGROUPING", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SGROUPING, L"3;" ); CheckReturnEqual( rc, TRUE, "SET - invalid SGROUPING 1", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SGROUPING, L"3;2;" ); CheckReturnEqual( rc, TRUE, "SET - invalid SGROUPING 2", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SGROUPING, L"10;0" ); CheckReturnEqual( rc, TRUE, "SET - invalid SGROUPING 3", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SGROUPING, L"3:0" ); CheckReturnEqual( rc, TRUE, "SET - invalid SGROUPING 4", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SGROUPING, L"5;0" ); CheckReturnEqual( rc, FALSE, "SET - SGROUPING", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SGROUPING, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"5;0", "GET - SGROUPING", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SGROUPING, L"3;2;0" ); CheckReturnEqual( rc, FALSE, "SET - SGROUPING", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SGROUPING, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"3;2;0", "GET - SGROUPING", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SGROUPING, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SGROUPING", &NumErrors );
// Variation 6 - IDIGITS
rc = GetLocaleInfoW( Locale, LOCALE_IDIGITS, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current IDIGITS", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IDIGITS, L"a" ); CheckReturnEqual( rc, TRUE, "SET - invalid IDIGITS", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IDIGITS, L"5" ); CheckReturnEqual( rc, FALSE, "SET - IDIGITS", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IDIGITS, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"5", "GET - IDIGITS", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IDIGITS, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - IDIGITS", &NumErrors );
// Variation 7 - ILZERO
rc = GetLocaleInfoW( Locale, LOCALE_ILZERO, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current ILZERO", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ILZERO, L"2" ); CheckReturnEqual( rc, TRUE, "SET - invalid ILZERO", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ILZERO, L"1" ); CheckReturnEqual( rc, FALSE, "SET - ILZERO", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ILZERO, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - ILZERO", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ILZERO, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - ILZERO", &NumErrors );
// Variation 8 - SCURRENCY
rc = GetLocaleInfoW( Locale, LOCALE_SCURRENCY, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SCURRENCY", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SCURRENCY, L"[][][]" ); CheckReturnEqual( rc, TRUE, "SET - invalid SCURRENCY", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SCURRENCY, L"x5" ); CheckReturnEqual( rc, TRUE, "SET - invalid SCURRENCY (x5)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SCURRENCY, L"%@%" ); CheckReturnEqual( rc, FALSE, "SET - SCURRENCY", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SCURRENCY, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"%@%", "GET - SCURRENCY", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SCURRENCY, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SCURRENCY", &NumErrors );
// Variation 9 - SMONDECIMALSEP
rc = GetLocaleInfoW( Locale, LOCALE_SMONDECIMALSEP, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SMONDECIMALSEP", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONDECIMALSEP, L"{}{}" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONDECIMALSEP", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONDECIMALSEP, L"6" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONDECIMALSEP (6)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONDECIMALSEP, L"%" ); CheckReturnEqual( rc, FALSE, "SET - SMONDECIMALSEP", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SMONDECIMALSEP, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"%", "GET - SMONDECIMALSEP", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONDECIMALSEP, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SMONDECIMALSEP", &NumErrors );
// Variation 10 - SMONTHOUSANDSEP
rc = GetLocaleInfoW( Locale, LOCALE_SMONTHOUSANDSEP, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SMONTHOUSANDSEP", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONTHOUSANDSEP, L"{}{}" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONTHOUSANDSEP", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONTHOUSANDSEP, L"6" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONTHOUSANDSEP (6)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONTHOUSANDSEP, L"%" ); CheckReturnEqual( rc, FALSE, "SET - SMONTHOUSANDSEP", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SMONTHOUSANDSEP, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"%", "GET - SMONTHOUSANDSEP", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONTHOUSANDSEP, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SMONTHOUSANDSEP", &NumErrors );
// Variation 11 - SMONGROUPING
rc = GetLocaleInfoW( Locale, LOCALE_SMONGROUPING, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SMONGROUPING", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONGROUPING, L"3;" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONGROUPING 1", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONGROUPING, L"3;2;" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONGROUPING 2", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONGROUPING, L"10;0" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONGROUPING 3", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONGROUPING, L"3:0" ); CheckReturnEqual( rc, TRUE, "SET - invalid SMONGROUPING 4", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONGROUPING, L"5;0" ); CheckReturnEqual( rc, FALSE, "SET - SMONGROUPING", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SMONGROUPING, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"5;0", "GET - SMONGROUPING", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONGROUPING, L"3;2;0" ); CheckReturnEqual( rc, FALSE, "SET - SMONGROUPING", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SMONGROUPING, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"3;2;0", "GET - SMONGROUPING", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SMONGROUPING, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SMONGROUPING", &NumErrors );
// Variation 12 - ICURRDIGITS
rc = GetLocaleInfoW( Locale, LOCALE_ICURRDIGITS, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current ICURRDIGITS", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICURRDIGITS, L"aa" ); CheckReturnEqual( rc, TRUE, "SET - invalid ICURRDIGITS", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICURRDIGITS, L"85" ); CheckReturnEqual( rc, FALSE, "SET - ICURRDIGITS", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ICURRDIGITS, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"85", "GET - ICURRDIGITS", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICURRDIGITS, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - ICURRDIGITS", &NumErrors );
// Variation 13 - ICURRENCY
rc = GetLocaleInfoW( Locale, LOCALE_ICURRENCY, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current ICURRENCY", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICURRENCY, L"4" ); CheckReturnEqual( rc, TRUE, "SET - invalid ICURRENCY", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICURRENCY, L"3" ); CheckReturnEqual( rc, FALSE, "SET - ICURRENCY", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ICURRENCY, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"3", "GET - ICURRENCY", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICURRENCY, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - ICURRENCY", &NumErrors );
// Variation 14 - INEGCURR
rc = GetLocaleInfoW( Locale, LOCALE_INEGCURR, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current INEGCURR", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_INEGCURR, L"16" ); CheckReturnEqual( rc, TRUE, "SET - invalid INEGCURR", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_INEGCURR, L"13" ); CheckReturnEqual( rc, FALSE, "SET - INEGCURR", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_INEGCURR, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"13", "GET - INEGCURR", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_INEGCURR, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - INEGCURR", &NumErrors );
// Variation 15 - SPOSITIVESIGN
rc = GetLocaleInfoW( Locale, LOCALE_SPOSITIVESIGN, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SPOSITIVESIGN", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SPOSITIVESIGN, L"{}{}{" ); CheckReturnEqual( rc, TRUE, "SET - invalid SPOSITIVESIGN", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SPOSITIVESIGN, L"x5" ); CheckReturnEqual( rc, TRUE, "SET - invalid SPOSITIVESIGN (x5)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SPOSITIVESIGN, L"[]" ); CheckReturnEqual( rc, FALSE, "SET - SPOSITIVESIGN", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SPOSITIVESIGN, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"[]", "GET - SPOSITIVESIGN", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SPOSITIVESIGN, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SPOSITIVESIGN", &NumErrors );
// Variation 16 - SNEGATIVESIGN
rc = GetLocaleInfoW( Locale, LOCALE_SNEGATIVESIGN, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - SNEGATIVESIGN", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SNEGATIVESIGN, L"{}{}{" ); CheckReturnEqual( rc, TRUE, "SET - invalid SNEGATIVESIGN", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SNEGATIVESIGN, L"x5" ); CheckReturnEqual( rc, TRUE, "SET - invalid SNEGATIVESIGN (x5)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SNEGATIVESIGN, L"[]" ); CheckReturnEqual( rc, FALSE, "SET - SNEGATIVESIGN", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SNEGATIVESIGN, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"[]", "GET - SNEGATIVESIGN", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SNEGATIVESIGN, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SNEGATIVESIGN", &NumErrors );
// Variation 17 - STIMEFORMAT
rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, L"HHHHHmmmmmsssssHHHHHmmmmmsssssHHHHHmmmmmsssssHHHHHmmmmmsssssHHHHHmmmmmsssssHHHHH" ); CheckReturnEqual( rc, TRUE, "SET - invalid STIMEFORMAT", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, L"tt HH/mm/ss" ); CheckReturnEqual( rc, FALSE, "SET - STIMEFORMAT", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"tt HH/mm/ss", "GET - STIMEFORMAT", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STIME, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"/", "GET - STIME from STIMEFORMAT", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ITIME, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - ITIME from STIMEFORMAT", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ITLZERO, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - ITLZERO from STIMEFORMAT", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ITIMEMARKPOSN, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - ITIMEMARKPOSN from STIMEFORMAT", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, pSTimeFormat ); CheckReturnEqual( rc, FALSE, "ReSET - STIMEFORMAT", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIME, pSTime ); CheckReturnEqual( rc, FALSE, "ReSET - STIME from STIMEFORMAT", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ITIME, pITime ); CheckReturnEqual( rc, FALSE, "ReSET - ITIME from STIMEFORMAT", &NumErrors );
// Variation 18 - STIME
rc = SetLocaleInfoW( Locale, LOCALE_STIME, L"{**}" ); CheckReturnEqual( rc, TRUE, "SET - invalid STIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIME, L"x5" ); CheckReturnEqual( rc, TRUE, "SET - invalid STIME (x5)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, L"HH/mm/ss" ); CheckReturnEqual( rc, FALSE, "SET - STIMEFORMAT from STIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIME, L"[]" ); CheckReturnEqual( rc, FALSE, "SET - STIME", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STIME, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"[]", "GET - STIME", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"HH[]mm[]ss", "GET - STIMEFORMAT from STIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIME, pSTime ); CheckReturnEqual( rc, FALSE, "ReSET - STIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, pSTimeFormat ); CheckReturnEqual( rc, FALSE, "ReSET - STIMEFORMAT from STIME", &NumErrors );
// Variation 18.1 - STIME
rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, L"HH/mm/ss' ('hh' oclock)'" ); CheckReturnEqual( rc, FALSE, "SET - STIMEFORMAT from STIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIME, L"[]" ); CheckReturnEqual( rc, FALSE, "SET - STIME", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STIME, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"[]", "GET - STIME", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"HH[]mm[]ss' ('hh' oclock)'", "GET - STIMEFORMAT from STIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIME, pSTime ); CheckReturnEqual( rc, FALSE, "ReSET - STIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, pSTimeFormat ); CheckReturnEqual( rc, FALSE, "ReSET - STIMEFORMAT from STIME", &NumErrors );
// Variation 19 - ITIME
rc = SetLocaleInfoW( Locale, LOCALE_ITIME, L"2" ); CheckReturnEqual( rc, TRUE, "SET - invalid ITIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, L"hh/mm/ss" ); CheckReturnEqual( rc, FALSE, "SET - STIMEFORMAT from ITIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ITIME, L"1" ); CheckReturnEqual( rc, FALSE, "SET - ITIME", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ITIME, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - ITIME", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"HH/mm/ss", "GET - STIMEFORMAT from ITIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ITIME, pITime ); CheckReturnEqual( rc, FALSE, "ReSET - ITIME", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_STIMEFORMAT, pSTimeFormat ); CheckReturnEqual( rc, FALSE, "ReSET - STIMEFORMAT from ITIME", &NumErrors );
// Variation 20 - S1159
rc = GetLocaleInfoW( Locale, LOCALE_S1159, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current S1159", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_S1159, L"123456789012345" ); CheckReturnEqual( rc, TRUE, "SET - invalid S1159", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_S1159, L"DAWN" ); CheckReturnEqual( rc, FALSE, "SET - S1159", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_S1159, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"DAWN", "GET - S1159", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_S1159, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - S1159", &NumErrors );
// Variation 21 - S2359
rc = GetLocaleInfoW( Locale, LOCALE_S2359, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - S2359", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_S2359, L"123456789012345" ); CheckReturnEqual( rc, TRUE, "SET - invalid S2359", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_S2359, L"DUSK" ); CheckReturnEqual( rc, FALSE, "SET - S2359", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_S2359, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"DUSK", "GET - S2359", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_S2359, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - S2359", &NumErrors );
// Variation 22 - SSHORTDATE
rc = SetLocaleInfoW( Locale, LOCALE_SSHORTDATE, L"dddddMMMMMyyyyydddddMMMMMyyyyydddddMMMMMyyyyydddddMMMMMyyyyydddddMMMMMyyyyyddddd" ); CheckReturnEqual( rc, TRUE, "SET - invalid SSHORTDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SSHORTDATE, L"yyyy:MM:dd" ); CheckReturnEqual( rc, FALSE, "SET - SSHORTDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SSHORTDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"yyyy:MM:dd", "GET - SSHORTDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L":", "GET - SDATE from SSHORTDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"2", "GET - IDATE from SSHORTDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IMONLZERO, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - IMONLZERO from SSHORTDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IDAYLZERO, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - IDAYLZERO from SSHORTDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ICENTURY, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - ICENTURY from SSHORTDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SSHORTDATE, pSShortDate ); CheckReturnEqual( rc, FALSE, "ReSET - SSHORTDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDATE, pSDate ); CheckReturnEqual( rc, FALSE, "ReSET - SDATE from SSHORTDATE", &NumErrors );
// Variation 23 - SDATE
rc = SetLocaleInfoW( Locale, LOCALE_SDATE, L"{}{}" ); CheckReturnEqual( rc, TRUE, "SET - invalid SDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDATE, L"6" ); CheckReturnEqual( rc, TRUE, "SET - invalid SDATE (6)", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SSHORTDATE, L"yy:MM:dd" ); CheckReturnEqual( rc, FALSE, "SET - SSHORTDATE from SDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDATE, L"+" ); CheckReturnEqual( rc, FALSE, "SET - SDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"+", "GET - SDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SSHORTDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"yy+MM+dd", "GET - SSHORTDATE from SDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDATE, pSDate ); CheckReturnEqual( rc, FALSE, "ReSET - SDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SSHORTDATE, pSShortDate ); CheckReturnEqual( rc, FALSE, "ReSET - SSHORTDATE from SDATE", &NumErrors );
// Variation 23.1 - SDATE
rc = SetLocaleInfoW( Locale, LOCALE_SSHORTDATE, L"yy:MM:dd' ('ddd')'" ); CheckReturnEqual( rc, FALSE, "SET - SSHORTDATE from SDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDATE, L"+" ); CheckReturnEqual( rc, FALSE, "SET - SDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"+", "GET - SDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SSHORTDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"yy+MM+dd' ('ddd')'", "GET - SSHORTDATE from SDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SDATE, pSDate ); CheckReturnEqual( rc, FALSE, "ReSET - SDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SSHORTDATE, pSShortDate ); CheckReturnEqual( rc, FALSE, "ReSET - SSHORTDATE from SDATE", &NumErrors );
// Variation 24 - SLONGDATE
rc = GetLocaleInfoW( Locale, LOCALE_SLONGDATE, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current SLONGDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SLONGDATE, L"dddddMMMMMyyyyydddddMMMMMyyyyydddddMMMMMyyyyydddddMMMMMyyyyydddddMMMMMyyyyyddddd" ); CheckReturnEqual( rc, TRUE, "SET - invalid SLONGDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SLONGDATE, L"yy, MMMM dd, dddd" ); CheckReturnEqual( rc, FALSE, "SET - SLONGDATE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_SLONGDATE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"yy, MMMM dd, dddd", "GET - SLONGDATE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_SLONGDATE, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - SLONGDATE", &NumErrors );
// Variation 25 - ICALENDARTYPE
rc = GetLocaleInfoW( Locale, LOCALE_ICALENDARTYPE, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current ICALENDARTYPE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICALENDARTYPE, L"0" ); CheckReturnEqual( rc, TRUE, "SET - invalid ICALENDARTYPE 0", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICALENDARTYPE, L"8" ); CheckReturnEqual( rc, TRUE, "SET - invalid ICALENDARTYPE 8", &NumErrors ); rc = SetLocaleInfoW( 0x0411, LOCALE_ICALENDARTYPE, L"3" ); CheckReturnEqual( rc, FALSE, "SET - ICALENDARTYPE", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_ICALENDARTYPE, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"3", "GET - ICALENDARTYPE", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_ICALENDARTYPE, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - ICALENDARTYPE", &NumErrors );
// Variation 26 - IFIRSTDAYOFWEEK
rc = GetLocaleInfoW( Locale, LOCALE_IFIRSTDAYOFWEEK, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current IFIRSTDAYOFWEEK", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IFIRSTDAYOFWEEK, L"7" ); CheckReturnEqual( rc, TRUE, "SET - invalid IFIRSTDAYOFWEEK", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IFIRSTDAYOFWEEK, L"3" ); CheckReturnEqual( rc, FALSE, "SET - IFIRSTDAYOFWEEK", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IFIRSTDAYOFWEEK, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"3", "GET - IFIRSTDAYOFWEEK", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IFIRSTDAYOFWEEK, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - IFIRSTDAYOFWEEK", &NumErrors );
// Variation 27 - IFIRSTWEEKOFYEAR
rc = GetLocaleInfoW( Locale, LOCALE_IFIRSTWEEKOFYEAR, pTemp, BUFSIZE ); CheckReturnEqual( rc, 0, "GET - current IFIRSTWEEKOFYEAR", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IFIRSTWEEKOFYEAR, L"3" ); CheckReturnEqual( rc, TRUE, "SET - invalid IFIRSTWEEKOFYEAR", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IFIRSTWEEKOFYEAR, L"1" ); CheckReturnEqual( rc, FALSE, "SET - IFIRSTWEEKOFYEAR", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IFIRSTWEEKOFYEAR, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"1", "GET - IFIRSTWEEKOFYEAR", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IFIRSTWEEKOFYEAR, L"2" ); CheckReturnEqual( rc, FALSE, "SET - IFIRSTWEEKOFYEAR 2", &NumErrors ); rc = GetLocaleInfoW( Locale, LOCALE_IFIRSTWEEKOFYEAR, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"2", "GET - IFIRSTWEEKOFYEAR 2", &NumErrors ); rc = SetLocaleInfoW( Locale, LOCALE_IFIRSTWEEKOFYEAR, pTemp ); CheckReturnEqual( rc, FALSE, "ReSET - IFIRSTWEEKOFYEAR", &NumErrors );
//
// Return total number of errors found.
//
return (NumErrors); }
////////////////////////////////////////////////////////////////////////////
//
// SLI_Ansi
//
// This routine tests the Ansi version of the API routine.
//
// 07-14-93 JulieB Created.
////////////////////////////////////////////////////////////////////////////
int SLI_Ansi() { int NumErrors = 0; // error count - to be returned
int rc; // return code
//
// SetLocaleInfoA.
//
// Variation 1 - SList
rc = SetLocaleInfoA( 0x0409, LOCALE_SLIST, "::" ); CheckReturnEqual( rc, FALSE, "SET - system default locale", &NumErrors ); rc = GetLocaleInfoW( 0x0409, LOCALE_SLIST, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"::", "GET - system default locale", &NumErrors );
// Variation 2 - Use CP ACP, SList
rc = SetLocaleInfoA( 0x0409, LOCALE_USE_CP_ACP | LOCALE_SLIST, ".." ); CheckReturnEqual( rc, FALSE, "SET - Use CP ACP, system default locale", &NumErrors ); rc = GetLocaleInfoW( 0x0409, LOCALE_USE_CP_ACP | LOCALE_SLIST, lpLCData, BUFSIZE ); CheckReturnValidW( rc, -1, lpLCData, L"..", "GET - Use CP ACP, system default locale", &NumErrors );
//
// Reset the slist value.
//
rc = SetLocaleInfoW( Locale, LOCALE_SLIST, pSList ); CheckReturnEqual( rc, FALSE, "ReSET - SLIST", &NumErrors );
//
// Return total number of errors found.
//
return (NumErrors); }
|