1068 lines
27 KiB
C
1068 lines
27 KiB
C
/*++
|
|
|
|
Copyright (c) 1991-1999, Microsoft Corporation All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
ggitest.c
|
|
|
|
Abstract:
|
|
|
|
Test module for NLS API GetGeoInfo, GetUserGeoID, and SetUserGeoID.
|
|
|
|
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:
|
|
|
|
09-12-2000 JulieB Created.
|
|
|
|
--*/
|
|
|
|
|
|
|
|
//
|
|
// Include Files.
|
|
//
|
|
|
|
#include "nlstest.h"
|
|
|
|
|
|
|
|
|
|
//
|
|
// Constant Declarations.
|
|
//
|
|
|
|
#define BUFSIZE 50 // buffer size in wide chars
|
|
#define GEOTYPE_INVALID 0x0100 // invalid geo type
|
|
#define GEO_INVALID 1 // invalid geo id
|
|
#define GEOCLASS_INVALID 3 // invalid geo class
|
|
|
|
#define US_NATION L"244"
|
|
#define US_FRIENDLYNAME L"United States"
|
|
#define US_OFFICIALNAME L"United States of America"
|
|
|
|
#define US_NATION_A "244"
|
|
#define US_FRIENDLYNAME_A "United States"
|
|
#define US_OFFICIALNAME_A "United States of America"
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
// Global Variables.
|
|
//
|
|
|
|
LCID Locale;
|
|
GEOID GeoId;
|
|
|
|
WCHAR lpGeoData[BUFSIZE];
|
|
BYTE lpGeoDataA[BUFSIZE];
|
|
|
|
//
|
|
// pGeoFlag and pGeoString must have the same number of entries.
|
|
//
|
|
GEOTYPE pGeoFlag[] =
|
|
{
|
|
GEO_NATION,
|
|
GEO_LATITUDE,
|
|
GEO_LONGITUDE,
|
|
GEO_ISO2,
|
|
GEO_ISO3,
|
|
GEO_RFC1766,
|
|
GEO_LCID,
|
|
GEO_FRIENDLYNAME,
|
|
GEO_OFFICIALNAME
|
|
// GEO_TIMEZONES,
|
|
// GEO_OFFICIALLANGUAGES
|
|
};
|
|
|
|
#define NUM_GEO_FLAGS ( sizeof(pGeoFlag) / sizeof(GEOTYPE) )
|
|
|
|
LPWSTR pGeoString[] =
|
|
{
|
|
L"244",
|
|
L"39.45",
|
|
L"-98.908",
|
|
L"US",
|
|
L"USA",
|
|
L"en-us",
|
|
L"00000409",
|
|
L"United States",
|
|
L"United States of America",
|
|
};
|
|
|
|
LPSTR pGeoStringA[] =
|
|
{
|
|
"244",
|
|
"39.45",
|
|
"-98.908",
|
|
"US",
|
|
"USA",
|
|
"en-us",
|
|
"00000409",
|
|
"United States",
|
|
"United States of America",
|
|
};
|
|
|
|
LPWSTR pGeoString2[] =
|
|
{
|
|
L"122",
|
|
L"35.156",
|
|
L"136.06",
|
|
L"JP",
|
|
L"JPN",
|
|
L"ja-jp",
|
|
L"00000411",
|
|
L"Japan",
|
|
L"Japan",
|
|
};
|
|
|
|
LPSTR pGeoString2A[] =
|
|
{
|
|
"122",
|
|
"35.156",
|
|
"136.06",
|
|
"JP",
|
|
"JPN",
|
|
"ja-jp",
|
|
"00000411",
|
|
"Japan",
|
|
"Japan",
|
|
};
|
|
|
|
|
|
|
|
|
|
//
|
|
// Forward Declarations.
|
|
//
|
|
|
|
BOOL
|
|
InitGetGeoInfo();
|
|
|
|
int
|
|
GGI_BadParamCheck();
|
|
|
|
int
|
|
GGI_NormalCase();
|
|
|
|
int
|
|
GGI_Ansi();
|
|
|
|
int
|
|
GetSetUserGeoId();
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// TestGetGeoInfo
|
|
//
|
|
// Test routine for GetGeoInfoW API.
|
|
//
|
|
// 09-12-00 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int TestGetGeoInfo()
|
|
{
|
|
int ErrCount = 0; // error count
|
|
|
|
|
|
//
|
|
// Print out what's being done.
|
|
//
|
|
printf("\n\nTESTING GetGeoInfoW, GetUserGeoID, SetUserGeoID...\n\n");
|
|
|
|
//
|
|
// Initialize global variables.
|
|
//
|
|
if (!InitGetGeoInfo())
|
|
{
|
|
printf("\nABORTED TestGetGeoInfo: Could not Initialize.\n");
|
|
return (1);
|
|
}
|
|
|
|
//
|
|
// Test bad parameters.
|
|
//
|
|
ErrCount += GGI_BadParamCheck();
|
|
|
|
//
|
|
// Test normal cases.
|
|
//
|
|
ErrCount += GGI_NormalCase();
|
|
|
|
//
|
|
// Test Ansi version.
|
|
//
|
|
ErrCount += GGI_Ansi();
|
|
|
|
//
|
|
// Test Get and Set.
|
|
//
|
|
ErrCount += GetSetUserGeoId();
|
|
|
|
//
|
|
// Print out result.
|
|
//
|
|
printf("\nGetGeoInfoW: ERRORS = %d\n", ErrCount);
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (ErrCount);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// InitGetGeoInfo
|
|
//
|
|
// This routine initializes the global variables. If no errors were
|
|
// encountered, then it returns TRUE. Otherwise, it returns FALSE.
|
|
//
|
|
// 09-12-00 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
BOOL InitGetGeoInfo()
|
|
{
|
|
//
|
|
// Make a Locale.
|
|
//
|
|
Locale = MAKELCID(0x0409, 0);
|
|
|
|
//
|
|
// Set the GeoId.
|
|
//
|
|
GeoId = 244;
|
|
|
|
//
|
|
// Return success.
|
|
//
|
|
return (TRUE);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// GGI_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.
|
|
//
|
|
// 09-12-00 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int GGI_BadParamCheck()
|
|
{
|
|
int NumErrors = 0; // error count - to be returned
|
|
int rc; // return code
|
|
|
|
|
|
//
|
|
// Bad Locale.
|
|
//
|
|
|
|
// Variation 1 - Bad Locale
|
|
rc = GetGeoInfoW( GEO_INVALID,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INVALID_PARAMETER,
|
|
"Bad Geo Id",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Null Pointers.
|
|
//
|
|
|
|
// Variation 1 - lpGeoData = NULL
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
NULL,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INVALID_PARAMETER,
|
|
"lpGeoData NULL",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Bad Counts.
|
|
//
|
|
|
|
// Variation 1 - cbBuf < 0
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
-1,
|
|
0x0409 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INVALID_PARAMETER,
|
|
"cbBuf < 0",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Zero or Invalid Type.
|
|
//
|
|
|
|
// Variation 1 - GeoType = invalid
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEOTYPE_INVALID,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INVALID_FLAGS,
|
|
"GeoType invalid",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - GeoType = 0
|
|
rc = GetGeoInfoW( GeoId,
|
|
0,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INVALID_FLAGS,
|
|
"GeoType zero",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Buffer Too Small.
|
|
//
|
|
|
|
// Variation 1 - cbBuf = too small
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
2,
|
|
0x0409 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INSUFFICIENT_BUFFER,
|
|
"cbBuf too small",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Bad GeoId - Not valid in RC file.
|
|
//
|
|
// Variation 1 - GEO_NATION - invalid
|
|
rc = GetGeoInfoW( GEO_INVALID,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INVALID_PARAMETER,
|
|
"invalid geo id",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Bad LangId.
|
|
//
|
|
// Variation 1 - GEO_NATION - invalid
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
(LCID)333 );
|
|
CheckReturnBadParam( rc,
|
|
0,
|
|
ERROR_INVALID_PARAMETER,
|
|
"invalid lang id",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (NumErrors);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// GGI_NormalCase
|
|
//
|
|
// This routine tests the normal cases of the API routine.
|
|
//
|
|
// 09-12-00 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int GGI_NormalCase()
|
|
{
|
|
int NumErrors = 0; // error count - to be returned
|
|
int rc; // return code
|
|
int ctr; // loop counter
|
|
|
|
|
|
#ifdef PERF
|
|
|
|
DbgBreakPoint();
|
|
|
|
#endif
|
|
|
|
|
|
//
|
|
// GeoIds.
|
|
//
|
|
|
|
// Variation 1 - Current User GeoId
|
|
rc = GetGeoInfoW( GetUserGeoID(GEOCLASS_NATION),
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnEqual( rc,
|
|
0,
|
|
"current user geo id",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// cbBuf.
|
|
//
|
|
|
|
// Variation 1 - cbBuf = size of lpGeoData buffer
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
US_NATION,
|
|
"cbBuf = bufsize",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - cbBuf = 0
|
|
lpGeoData[0] = 0x0000;
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
0,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
NULL,
|
|
US_NATION,
|
|
"cbBuf zero",
|
|
&NumErrors );
|
|
|
|
// Variation 3 - cbBuf = 0, lpGeoData = NULL
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
NULL,
|
|
0,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
NULL,
|
|
US_NATION,
|
|
"cbBuf (NULL ptr)",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// GEOTYPE values.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_GEO_FLAGS; ctr++)
|
|
{
|
|
//
|
|
// United States
|
|
//
|
|
rc = GetGeoInfoW( GeoId,
|
|
pGeoFlag[ctr],
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0009 );
|
|
CheckReturnValidLoopW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
pGeoString[ctr],
|
|
"Lang Id 0009, Geo Flag",
|
|
pGeoFlag[ctr],
|
|
&NumErrors );
|
|
|
|
rc = GetGeoInfoW( GeoId,
|
|
pGeoFlag[ctr],
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidLoopW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
pGeoString[ctr],
|
|
"Lang Id 0409, Geo Flag",
|
|
pGeoFlag[ctr],
|
|
&NumErrors );
|
|
|
|
//
|
|
// Japan
|
|
//
|
|
rc = GetGeoInfoW( 122,
|
|
pGeoFlag[ctr],
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0011 );
|
|
CheckReturnValidLoopW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
pGeoString2[ctr],
|
|
"Lang Id 0011, Geo Flag",
|
|
pGeoFlag[ctr],
|
|
&NumErrors );
|
|
|
|
rc = GetGeoInfoW( 122,
|
|
pGeoFlag[ctr],
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0411 );
|
|
CheckReturnValidLoopW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
pGeoString2[ctr],
|
|
"Lang Id 0411, Geo Flag",
|
|
pGeoFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
//
|
|
// RC file - FRIENDLYNAME and OFFICIALNAME.
|
|
//
|
|
|
|
// Variation 1 - FRIENDLYNAME US
|
|
rc = GetGeoInfoW( 244,
|
|
GEO_FRIENDLYNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
US_FRIENDLYNAME,
|
|
"FriendlyName US",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - OFFICIALNAME US
|
|
rc = GetGeoInfoW( 244,
|
|
GEO_OFFICIALNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
US_OFFICIALNAME,
|
|
"OfficialName US",
|
|
&NumErrors );
|
|
|
|
// Variation 3 - FRIENDLYNAME Czech
|
|
rc = GetGeoInfoW( 75,
|
|
GEO_FRIENDLYNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
L"Czech Republic",
|
|
"FriendlyName Czech",
|
|
&NumErrors );
|
|
|
|
// Variation 4 - OFFICIALNAME Czech
|
|
rc = GetGeoInfoW( 75,
|
|
GEO_OFFICIALNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
L"Czech Republic",
|
|
"OfficialName Czech",
|
|
&NumErrors );
|
|
|
|
// Variation 5 - FRIENDLYNAME Venezuela
|
|
rc = GetGeoInfoW( 249,
|
|
GEO_FRIENDLYNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
L"Venezuela",
|
|
"FriendlyName Venezuela",
|
|
&NumErrors );
|
|
|
|
// Variation 6 - OFFICIALNAME Venezuela
|
|
rc = GetGeoInfoW( 249,
|
|
GEO_OFFICIALNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
L"Bolivarian Republic of Venezuela",
|
|
"OfficialName Venezuela",
|
|
&NumErrors );
|
|
|
|
// Variation 7 - FRIENDLYNAME Puerto Rico
|
|
rc = GetGeoInfoW( 202,
|
|
GEO_FRIENDLYNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
L"Puerto Rico",
|
|
"FriendlyName Puerto Rico",
|
|
&NumErrors );
|
|
|
|
// Variation 8 - OFFICIALNAME Puerto Rico
|
|
rc = GetGeoInfoW( 202,
|
|
GEO_OFFICIALNAME,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
L"Puerto Rico",
|
|
"OfficialName Puerto Rico",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Language Neutral.
|
|
//
|
|
|
|
// Variation 1 - lang id - neutral
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
US_NATION,
|
|
"lang id (neutral)",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - lang id - sub lang neutral US
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0009 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
US_NATION,
|
|
"lang id (sub lang neutral US)",
|
|
&NumErrors );
|
|
|
|
// Variation 5 - lang id - sub lang neutral Czech
|
|
rc = GetGeoInfoW( GeoId,
|
|
GEO_NATION,
|
|
lpGeoData,
|
|
BUFSIZE,
|
|
0x0005 );
|
|
CheckReturnValidW( rc,
|
|
-1,
|
|
lpGeoData,
|
|
US_NATION,
|
|
"lang id (sub lang neutral Czech)",
|
|
&NumErrors );
|
|
|
|
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (NumErrors);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// GGI_Ansi
|
|
//
|
|
// This routine tests the Ansi version of the API routine.
|
|
//
|
|
// 09-12-00 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int GGI_Ansi()
|
|
{
|
|
int NumErrors = 0; // error count - to be returned
|
|
int rc; // return code
|
|
int ctr; // loop counter
|
|
|
|
|
|
//
|
|
// GeoIds.
|
|
//
|
|
|
|
// Variation 1 - Current User GeoId
|
|
rc = GetGeoInfoA( GetUserGeoID(GEOCLASS_NATION),
|
|
GEO_NATION,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnEqual( rc,
|
|
0,
|
|
"A version - current user geo id",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// cbBuf.
|
|
//
|
|
|
|
// Variation 1 - cbBuf = size of lpGeoDataA buffer
|
|
rc = GetGeoInfoA( GeoId,
|
|
GEO_NATION,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
US_NATION_A,
|
|
NULL,
|
|
"A version - cbBuf = bufsize",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - cbBuf = 0
|
|
lpGeoDataA[0] = 0x0000;
|
|
rc = GetGeoInfoA( GeoId,
|
|
GEO_NATION,
|
|
lpGeoDataA,
|
|
0,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
NULL,
|
|
US_NATION_A,
|
|
NULL,
|
|
"A version - cbBuf zero",
|
|
&NumErrors );
|
|
|
|
// Variation 3 - cbBuf = 0, lpGeoDataA = NULL
|
|
rc = GetGeoInfoA( GeoId,
|
|
GEO_NATION,
|
|
NULL,
|
|
0,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
NULL,
|
|
US_NATION_A,
|
|
NULL,
|
|
"A version - cbBuf (NULL ptr)",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// GEOTYPE values.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_GEO_FLAGS; ctr++)
|
|
{
|
|
rc = GetGeoInfoA( GeoId,
|
|
pGeoFlag[ctr],
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0009 );
|
|
CheckReturnValidLoopA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
pGeoStringA[ctr],
|
|
"A version - Lang Id 0009, Geo Flag",
|
|
pGeoFlag[ctr],
|
|
&NumErrors );
|
|
|
|
rc = GetGeoInfoA( GeoId,
|
|
pGeoFlag[ctr],
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidLoopA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
pGeoStringA[ctr],
|
|
"A version - Lang Id 0409, Geo Flag",
|
|
pGeoFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
//
|
|
// RC file - FRIENDLYNAME and OFFICIALNAME.
|
|
//
|
|
|
|
// Variation 1 - FRIENDLYNAME US
|
|
rc = GetGeoInfoA( 244,
|
|
GEO_FRIENDLYNAME,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
US_FRIENDLYNAME_A,
|
|
NULL,
|
|
"A version - FriendlyName US",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - OFFICIALNAME US
|
|
rc = GetGeoInfoA( 244,
|
|
GEO_OFFICIALNAME,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
US_OFFICIALNAME_A,
|
|
NULL,
|
|
"A version - OfficialName US",
|
|
&NumErrors );
|
|
|
|
// Variation 3 - FRIENDLYNAME Czech
|
|
rc = GetGeoInfoA( 75,
|
|
GEO_FRIENDLYNAME,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
"Czech Republic",
|
|
NULL,
|
|
"A version - FriendlyName Czech",
|
|
&NumErrors );
|
|
|
|
// Variation 4 - OFFICIALNAME Czech
|
|
rc = GetGeoInfoA( 75,
|
|
GEO_OFFICIALNAME,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
"Czech Republic",
|
|
NULL,
|
|
"A version - OfficialName Czech",
|
|
&NumErrors );
|
|
|
|
// Variation 5 - FRIENDLYNAME Venezuela
|
|
rc = GetGeoInfoA( 249,
|
|
GEO_FRIENDLYNAME,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
"Venezuela",
|
|
NULL,
|
|
"A version - FriendlyName Venezuela",
|
|
&NumErrors );
|
|
|
|
// Variation 6 - OFFICIALNAME Venezuela
|
|
rc = GetGeoInfoA( 249,
|
|
GEO_OFFICIALNAME,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0409 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
"Bolivarian Republic of Venezuela",
|
|
NULL,
|
|
"A version - OfficialName Venezuela",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Language Neutral.
|
|
//
|
|
|
|
// Variation 1 - lang id - neutral
|
|
rc = GetGeoInfoA( GeoId,
|
|
GEO_NATION,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
US_NATION_A,
|
|
NULL,
|
|
"A version - lang id (neutral)",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - lang id - sub lang neutral US
|
|
rc = GetGeoInfoA( GeoId,
|
|
GEO_NATION,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0009 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
US_NATION_A,
|
|
NULL,
|
|
"A version - lang id (sub lang neutral US)",
|
|
&NumErrors );
|
|
|
|
// Variation 5 - lang id - sub lang neutral Czech
|
|
rc = GetGeoInfoA( GeoId,
|
|
GEO_NATION,
|
|
lpGeoDataA,
|
|
BUFSIZE,
|
|
0x0005 );
|
|
CheckReturnValidA( rc,
|
|
-1,
|
|
lpGeoDataA,
|
|
US_NATION_A,
|
|
NULL,
|
|
"A version - lang id (sub lang neutral Czech)",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (NumErrors);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// GetSetUserGeoId
|
|
//
|
|
// This routine tests the normal cases of the Get and Set Geo APIs.
|
|
//
|
|
// 09-12-00 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int GetSetUserGeoId()
|
|
{
|
|
int NumErrors = 0; // error count - to be returned
|
|
int rc; // return code
|
|
GEOID rcGeo; // return code
|
|
GEOID rcGeo2; // return code
|
|
|
|
|
|
rcGeo2 = GetUserGeoID(GEOCLASS_INVALID);
|
|
CheckReturnValidW( rcGeo2,
|
|
GEOID_NOT_AVAILABLE,
|
|
NULL,
|
|
NULL,
|
|
"GetUserGeoID invalid geoclass",
|
|
&NumErrors );
|
|
|
|
rcGeo2 = GetUserGeoID(GEOCLASS_REGION);
|
|
CheckReturnValidW( rcGeo2,
|
|
GEOID_NOT_AVAILABLE,
|
|
NULL,
|
|
NULL,
|
|
"GetUserGeoID region geoclass",
|
|
&NumErrors );
|
|
|
|
rcGeo = GetUserGeoID(GEOCLASS_NATION);
|
|
CheckReturnValidW( rcGeo,
|
|
244,
|
|
NULL,
|
|
NULL,
|
|
"GetUserGeoID",
|
|
&NumErrors );
|
|
|
|
rc = SetUserGeoID(242);
|
|
CheckReturnValidW( rc,
|
|
TRUE,
|
|
NULL,
|
|
NULL,
|
|
"SetUserGeoID 242",
|
|
&NumErrors );
|
|
|
|
rc = SetUserGeoID(1);
|
|
CheckReturnValidW( rc,
|
|
FALSE,
|
|
NULL,
|
|
NULL,
|
|
"SetUserGeoID invalid",
|
|
&NumErrors );
|
|
|
|
rc = SetUserGeoID(0);
|
|
CheckReturnValidW( rc,
|
|
FALSE,
|
|
NULL,
|
|
NULL,
|
|
"SetUserGeoID invalid 2",
|
|
&NumErrors );
|
|
|
|
rcGeo2 = GetUserGeoID(GEOCLASS_NATION);
|
|
CheckReturnValidW( rcGeo2,
|
|
242,
|
|
NULL,
|
|
NULL,
|
|
"GetUserGeoID 242",
|
|
&NumErrors );
|
|
|
|
rc = SetUserGeoID(rcGeo);
|
|
CheckReturnValidW( rc,
|
|
TRUE,
|
|
NULL,
|
|
NULL,
|
|
"SetUserGeoID back to original",
|
|
&NumErrors );
|
|
|
|
rcGeo2 = GetUserGeoID(GEOCLASS_NATION);
|
|
CheckReturnValidW( rcGeo2,
|
|
rcGeo,
|
|
NULL,
|
|
NULL,
|
|
"GetUserGeoID original",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (NumErrors);
|
|
}
|