mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1445 lines
41 KiB
1445 lines
41 KiB
/*++
|
|
|
|
Copyright (c) 1991-1999, Microsoft Corporation All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
ecitest.c
|
|
|
|
Abstract:
|
|
|
|
Test module for NLS API EnumCalendarInfo.
|
|
|
|
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:
|
|
|
|
08-02-93 JulieB Created.
|
|
|
|
--*/
|
|
|
|
|
|
|
|
//
|
|
// Include Files.
|
|
//
|
|
|
|
#include "nlstest.h"
|
|
|
|
|
|
|
|
|
|
//
|
|
// Constant Declarations.
|
|
//
|
|
|
|
#define ECI_INVALID_FLAG 0x00000100
|
|
|
|
|
|
|
|
|
|
//
|
|
// Global Variables.
|
|
//
|
|
|
|
int CalendarCtr;
|
|
|
|
|
|
CALTYPE pCalFlag[] =
|
|
{
|
|
CAL_ICALINTVALUE,
|
|
CAL_SCALNAME,
|
|
CAL_ITWODIGITYEARMAX,
|
|
CAL_IYEAROFFSETRANGE,
|
|
CAL_SERASTRING,
|
|
CAL_SSHORTDATE,
|
|
CAL_SLONGDATE,
|
|
CAL_SYEARMONTH,
|
|
CAL_SDAYNAME1,
|
|
CAL_SMONTHNAME1,
|
|
CAL_SMONTHNAME13
|
|
};
|
|
#define NUM_CAL_FLAGS ( sizeof(pCalFlag) / sizeof(CALTYPE) )
|
|
|
|
|
|
//
|
|
// pCalEnglish and pCalJapan_x must have the same number of entries
|
|
// as pCalFlag.
|
|
//
|
|
int pCalEnglish[] =
|
|
{
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
7,
|
|
4,
|
|
1,
|
|
1,
|
|
1,
|
|
0
|
|
};
|
|
|
|
int pCalJapan_All[] =
|
|
{
|
|
3,
|
|
3,
|
|
3,
|
|
4,
|
|
4,
|
|
20,
|
|
14,
|
|
3,
|
|
2,
|
|
2,
|
|
0
|
|
};
|
|
|
|
int pCalJapan_1[] =
|
|
{
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
8,
|
|
4,
|
|
1,
|
|
1,
|
|
1,
|
|
0
|
|
};
|
|
|
|
int pCalJapan_2[] =
|
|
{
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
4,
|
|
2,
|
|
1,
|
|
1,
|
|
1,
|
|
0
|
|
};
|
|
|
|
int pCalJapan_3[] =
|
|
{
|
|
1,
|
|
1,
|
|
1,
|
|
4,
|
|
4,
|
|
8,
|
|
8,
|
|
1,
|
|
1,
|
|
1,
|
|
0
|
|
};
|
|
|
|
|
|
|
|
|
|
//
|
|
// Forward Declarations.
|
|
//
|
|
|
|
BOOL
|
|
InitEnumCalendarInfo();
|
|
|
|
int
|
|
ECI_BadParamCheck();
|
|
|
|
int
|
|
ECI_NormalCase();
|
|
|
|
int
|
|
ECI_Ansi();
|
|
|
|
BOOL
|
|
CALLBACK
|
|
MyFuncCalendar(
|
|
LPWSTR pStr);
|
|
|
|
BOOL
|
|
CALLBACK
|
|
MyFuncCalendarA(
|
|
LPSTR pStr);
|
|
|
|
BOOL
|
|
CALLBACK
|
|
MyFuncCalendarEx(
|
|
LPWSTR pStr,
|
|
CALID CalId);
|
|
|
|
BOOL
|
|
CALLBACK
|
|
MyFuncCalendarExA(
|
|
LPSTR pStr,
|
|
CALID CalId);
|
|
|
|
|
|
|
|
|
|
//
|
|
// Callback functions.
|
|
//
|
|
|
|
BOOL CALLBACK MyFuncCalendar(
|
|
LPWSTR pStr)
|
|
{
|
|
if (Verbose)
|
|
{
|
|
while (*pStr)
|
|
{
|
|
printf((*pStr > 0xff) ? "(0x%x)" : "%wc", *pStr);
|
|
pStr++;
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
CalendarCtr++;
|
|
|
|
return (TRUE);
|
|
}
|
|
|
|
|
|
BOOL CALLBACK MyFuncCalendarA(
|
|
LPSTR pStr)
|
|
{
|
|
if (Verbose)
|
|
{
|
|
while (*pStr)
|
|
{
|
|
printf((*pStr > 0xff) ? "(0x%x)" : "%c", *pStr);
|
|
pStr++;
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
CalendarCtr++;
|
|
|
|
return (TRUE);
|
|
}
|
|
|
|
|
|
//
|
|
// Callback functions for EX version.
|
|
//
|
|
|
|
BOOL CALLBACK MyFuncCalendarEx(
|
|
LPWSTR pStr,
|
|
CALID CalId)
|
|
{
|
|
if (Verbose)
|
|
{
|
|
printf("CalId = %d\n", CalId);
|
|
|
|
while (*pStr)
|
|
{
|
|
printf((*pStr > 0xff) ? "(0x%x)" : "%wc", *pStr);
|
|
pStr++;
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
CalendarCtr++;
|
|
|
|
return (TRUE);
|
|
}
|
|
|
|
|
|
BOOL CALLBACK MyFuncCalendarExA(
|
|
LPSTR pStr,
|
|
CALID CalId)
|
|
{
|
|
if (Verbose)
|
|
{
|
|
printf("CalId = %d\n", CalId);
|
|
|
|
while (*pStr)
|
|
{
|
|
printf((*pStr > 0xff) ? "(0x%x)" : "%c", *pStr);
|
|
pStr++;
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
CalendarCtr++;
|
|
|
|
return (TRUE);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// TestEnumCalendarInfo
|
|
//
|
|
// Test routine for EnumCalendarInfoW API.
|
|
//
|
|
// 08-02-93 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int TestEnumCalendarInfo()
|
|
{
|
|
int ErrCount = 0; // error count
|
|
|
|
|
|
//
|
|
// Print out what's being done.
|
|
//
|
|
printf("\n\nTESTING EnumCalendarInfoW...\n\n");
|
|
|
|
//
|
|
// Initialize global variables.
|
|
//
|
|
if (!InitEnumCalendarInfo())
|
|
{
|
|
printf("\nABORTED TestEnumCalendarInfo: Could not Initialize.\n");
|
|
return (1);
|
|
}
|
|
|
|
//
|
|
// Test bad parameters.
|
|
//
|
|
ErrCount += ECI_BadParamCheck();
|
|
|
|
//
|
|
// Test normal cases.
|
|
//
|
|
ErrCount += ECI_NormalCase();
|
|
|
|
//
|
|
// Test Ansi version.
|
|
//
|
|
ErrCount += ECI_Ansi();
|
|
|
|
//
|
|
// Print out result.
|
|
//
|
|
printf("\nEnumCalendarInfoW: ERRORS = %d\n", ErrCount);
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (ErrCount);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// InitEnumCalendarInfo
|
|
//
|
|
// This routine initializes the global variables. If no errors were
|
|
// encountered, then it returns TRUE. Otherwise, it returns FALSE.
|
|
//
|
|
// 08-02-93 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
BOOL InitEnumCalendarInfo()
|
|
{
|
|
//
|
|
// Initialize date counter.
|
|
//
|
|
CalendarCtr = 0;
|
|
|
|
//
|
|
// Return success.
|
|
//
|
|
return (TRUE);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// ECI_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.
|
|
//
|
|
// 08-02-93 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int ECI_BadParamCheck()
|
|
{
|
|
int NumErrors = 0; // error count - to be returned
|
|
int rc; // return code
|
|
|
|
|
|
//
|
|
// Bad Function.
|
|
//
|
|
|
|
// Variation 1 - bad function
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( NULL,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnBadParamEnum( rc,
|
|
FALSE,
|
|
ERROR_INVALID_PARAMETER,
|
|
"function invalid",
|
|
&NumErrors,
|
|
CalendarCtr,
|
|
0 );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( NULL,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnBadParamEnum( rc,
|
|
FALSE,
|
|
ERROR_INVALID_PARAMETER,
|
|
"Ex function invalid",
|
|
&NumErrors,
|
|
CalendarCtr,
|
|
0 );
|
|
|
|
|
|
//
|
|
// Bad Locale.
|
|
//
|
|
|
|
// Variation 1 - bad locale
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
(LCID)333,
|
|
ENUM_ALL_CALENDARS,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnBadParamEnum( rc,
|
|
FALSE,
|
|
ERROR_INVALID_PARAMETER,
|
|
"Locale invalid",
|
|
&NumErrors,
|
|
CalendarCtr,
|
|
0 );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
(LCID)333,
|
|
ENUM_ALL_CALENDARS,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnBadParamEnum( rc,
|
|
FALSE,
|
|
ERROR_INVALID_PARAMETER,
|
|
"Ex Locale invalid",
|
|
&NumErrors,
|
|
CalendarCtr,
|
|
0 );
|
|
|
|
|
|
//
|
|
// Invalid Flag.
|
|
//
|
|
|
|
// Variation 1 - dwFlags = invalid
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ECI_INVALID_FLAG );
|
|
CheckReturnBadParamEnum( rc,
|
|
FALSE,
|
|
ERROR_INVALID_FLAGS,
|
|
"Flag invalid",
|
|
&NumErrors,
|
|
CalendarCtr,
|
|
0 );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ECI_INVALID_FLAG );
|
|
CheckReturnBadParamEnum( rc,
|
|
FALSE,
|
|
ERROR_INVALID_FLAGS,
|
|
"Ex Flag invalid",
|
|
&NumErrors,
|
|
CalendarCtr,
|
|
0 );
|
|
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (NumErrors);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// ECI_NormalCase
|
|
//
|
|
// This routine tests the normal cases of the API routine.
|
|
//
|
|
// 08-02-93 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int ECI_NormalCase()
|
|
{
|
|
int NumErrors = 0; // error count - to be returned
|
|
int rc; // return code
|
|
int ctr; // loop counter
|
|
|
|
|
|
if (Verbose)
|
|
{
|
|
printf("\n---- W version ----\n\n");
|
|
}
|
|
|
|
//
|
|
// Single calendar id - English.
|
|
//
|
|
|
|
// Variation 1 - iCalIntValue - English
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"iCalIntValue English (cal 0)",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex iCalIntValue English (cal 0)",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - iCalIntValue - English
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
2,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"iCalIntValue English (cal 2)",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
2,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex iCalIntValue English (cal 2)",
|
|
&NumErrors );
|
|
|
|
// Variation 3 - Use CP ACP
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
2,
|
|
CAL_ICALINTVALUE | LOCALE_USE_CP_ACP );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Use CP ACP",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
2,
|
|
CAL_ICALINTVALUE | LOCALE_USE_CP_ACP );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex Use CP ACP",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// CALTYPE values - English.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"English (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"Ex English (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// Single calendar id - Japan.
|
|
//
|
|
|
|
// Variation 1 - iCalIntValue - Japan
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0411,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"iCalIntValue Japan (cal 0)",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0411,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex iCalIntValue Japan (cal 0)",
|
|
&NumErrors );
|
|
|
|
|
|
|
|
//
|
|
// CALTYPE values - Japan.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0411,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_1[ctr],
|
|
"Japan (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0411,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_1[ctr],
|
|
"Ex Japan (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0411,
|
|
2,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_2[ctr],
|
|
"Japan (cal 2) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0411,
|
|
2,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_2[ctr],
|
|
"Ex Japan (cal 2) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0411,
|
|
3,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_3[ctr],
|
|
"Japan (cal 3) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0411,
|
|
3,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_3[ctr],
|
|
"Ex Japan (cal 3) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// English - Enumerate ALL Calendars.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"English (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"Ex English (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"Ex English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"Ex English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// Japan - Enumerate ALL Calendars.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_All[ctr],
|
|
"Japan (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_All[ctr],
|
|
"Ex Japan (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"Ex Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoW( MyFuncCalendar,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExW( MyFuncCalendarEx,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"Ex Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (NumErrors);
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// ECI_Ansi
|
|
//
|
|
// This routine tests the normal cases of the API routine.
|
|
//
|
|
// 08-02-93 JulieB Created.
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
int ECI_Ansi()
|
|
{
|
|
int NumErrors = 0; // error count - to be returned
|
|
int rc; // return code
|
|
int ctr; // loop counter
|
|
|
|
|
|
if (Verbose)
|
|
{
|
|
printf("\n---- A version ----\n\n");
|
|
}
|
|
|
|
//
|
|
// Single calendar id - English.
|
|
//
|
|
|
|
// Variation 1 - iCalIntValue - English
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0409,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"A version iCalIntValue English (cal 0)",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0409,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex A version iCalIntValue English (cal 0)",
|
|
&NumErrors );
|
|
|
|
// Variation 2 - iCalIntValue - English
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0409,
|
|
2,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"A version iCalIntValue English (cal 2)",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0409,
|
|
2,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex A version iCalIntValue English (cal 2)",
|
|
&NumErrors );
|
|
|
|
// Variation 3 - Use CP ACP
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0409,
|
|
0,
|
|
CAL_ICALINTVALUE | LOCALE_USE_CP_ACP );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"A version Use CP ACP",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0409,
|
|
0,
|
|
CAL_ICALINTVALUE | LOCALE_USE_CP_ACP );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex A version Use CP ACP",
|
|
&NumErrors );
|
|
|
|
|
|
//
|
|
// CALTYPE values - English.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0409,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"A version English (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0409,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"Ex A version English (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// Single calendar id - Japan.
|
|
//
|
|
|
|
// Variation 1 - iCalIntValue - Japan
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0411,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"A version iCalIntValue Japan (cal 0)",
|
|
&NumErrors );
|
|
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0411,
|
|
0,
|
|
CAL_ICALINTVALUE );
|
|
CheckReturnValidEnum( rc,
|
|
FALSE,
|
|
CalendarCtr,
|
|
0,
|
|
"Ex A version iCalIntValue Japan (cal 0)",
|
|
&NumErrors );
|
|
|
|
|
|
|
|
//
|
|
// CALTYPE values - Japan.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0411,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_1[ctr],
|
|
"A version Japan (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0411,
|
|
1,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_1[ctr],
|
|
"Ex A version Japan (cal 1) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0411,
|
|
2,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_2[ctr],
|
|
"A version Japan (cal 2) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0411,
|
|
2,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_2[ctr],
|
|
"Ex A version Japan (cal 2) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0411,
|
|
3,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_3[ctr],
|
|
"A version Japan (cal 3) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0411,
|
|
3,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_3[ctr],
|
|
"Ex A version Japan (cal 3) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// English - Enumerate ALL Calendars.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"A version English (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalEnglish[ctr],
|
|
"Ex A version English (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"A version English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"Ex A version English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"A version English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0409,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
1,
|
|
"Ex A version English (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// Japan - Enumerate ALL Calendars.
|
|
//
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_All[ctr],
|
|
"A version Japan (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = 0; ctr < NUM_CAL_FLAGS; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
pCalFlag[ctr] );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
pCalJapan_All[ctr],
|
|
"Ex A version Japan (all cal) Calendar Flag",
|
|
pCalFlag[ctr],
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"A version Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SDAYNAME1; ctr <= CAL_SMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"Ex A version Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoA( MyFuncCalendarA,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"A version Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
for (ctr = CAL_SABBREVMONTHNAME1; ctr <= CAL_SABBREVMONTHNAME12; ctr++)
|
|
{
|
|
CalendarCtr = 0;
|
|
rc = EnumCalendarInfoExA( MyFuncCalendarExA,
|
|
0x0411,
|
|
ENUM_ALL_CALENDARS,
|
|
ctr );
|
|
CheckReturnValidEnumLoop( rc,
|
|
TRUE,
|
|
CalendarCtr,
|
|
2,
|
|
"Ex A version Japan (all cal) Day/Month Calendar Flag",
|
|
ctr,
|
|
&NumErrors );
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// Return total number of errors found.
|
|
//
|
|
return (NumErrors);
|
|
}
|