ICU-10028 u_finit and u_fadopt test

X-SVN-Rev: 34184
This commit is contained in:
Steven R. Loomis 2013-09-04 06:19:26 +00:00
parent e001989611
commit f2844dc9e1

View File

@ -22,6 +22,8 @@
const char *STANDARD_TEST_FILE = "iotest-c.txt";
const char *STANDARD_TEST_LOCALE = "en_US_POSIX";
#if !UCONFIG_NO_FORMATTING
static void TestFileFromICU(UFILE *myFile) {
@ -98,7 +100,7 @@ static void TestFileFromICU(UFILE *myFile) {
fprintf(u_fgetfile(myFile), "\tNormal fprintf count value: n=%d\n", (int)*n); /* Should be 27 as stated later on. */
u_fclose(myFile);
myFile = u_fopen(STANDARD_TEST_FILE, "r", "en_US_POSIX", NULL);
myFile = u_fopen(STANDARD_TEST_FILE, "r", STANDARD_TEST_LOCALE, NULL);
if (myFile == NULL) {
log_err("Can't read test file.");
@ -310,22 +312,26 @@ static void TestFileFromICU(UFILE *myFile) {
}
static void TestFile(void) {
/* FILE *standardFile;*/
log_verbose("Testing u_fopen\n");
TestFileFromICU(u_fopen(STANDARD_TEST_FILE, "w", "en_US_POSIX", NULL));
TestFileFromICU(u_fopen(STANDARD_TEST_FILE, "w", STANDARD_TEST_LOCALE, NULL));
}
static void TestFinit(void) {
FILE *standardFile;
/* Don't know how to make this work without stdout or stderr */
/*
log_verbose("Testing u_finit\n");
standardFile = fopen(STANDARD_TEST_FILE, "wb");
TestFileFromICU(u_finit(standardFile, NULL, NULL));
standardFile = fopen(STANDARD_TEST_FILE, "w");
TestFileFromICU(u_finit(standardFile, STANDARD_TEST_LOCALE, NULL));
fclose(standardFile);
}
static void TestFadopt(void) {
FILE *standardFile;
log_verbose("Testing u_fadopt\n");
standardFile = fopen(STANDARD_TEST_FILE, "wb");
TestFileFromICU(u_fadopt(standardFile, NULL, NULL));
*/
standardFile = fopen(STANDARD_TEST_FILE, "w");
TestFileFromICU(u_fadopt(standardFile, STANDARD_TEST_LOCALE, NULL));
}
#endif
@ -917,7 +923,7 @@ static void TestCodepageFlush(void) {
uint8_t inBuf[200];
size_t inLen =0;
const char *enc = "IBM-1388"; /* GBK EBCDIC stateful */
UFILE *myFile = u_fopen(STANDARD_TEST_FILE, "wb", "en_US_POSIX", enc);
UFILE *myFile = u_fopen(STANDARD_TEST_FILE, "wb", STANDARD_TEST_LOCALE, enc);
FILE *myCFile;
int shift = 0;
int32_t i;
@ -974,7 +980,7 @@ static void TestCodepageFlush(void) {
#if !UCONFIG_NO_FORMATTING
static void TestFilePrintCompatibility(void) {
UFILE *myFile = u_fopen(STANDARD_TEST_FILE, "wb", "en_US_POSIX", NULL);
UFILE *myFile = u_fopen(STANDARD_TEST_FILE, "wb", STANDARD_TEST_LOCALE, NULL);
FILE *myCFile;
int32_t num;
char cVal;
@ -988,7 +994,7 @@ static void TestFilePrintCompatibility(void) {
return;
}
#if !UCONFIG_NO_FORMATTING
if (strcmp(u_fgetlocale(myFile), "en_US_POSIX") != 0) {
if (strcmp(u_fgetlocale(myFile), STANDARD_TEST_LOCALE) != 0) {
log_err("Got %s instead of en_US_POSIX for locale\n", u_fgetlocale(myFile));
}
#endif
@ -1112,7 +1118,7 @@ static void TestFilePrintCompatibility(void) {
#endif
#define TestFPrintFormat(uFormat, uValue, cFormat, cValue) \
myFile = u_fopen(STANDARD_TEST_FILE, "w", "en_US_POSIX", NULL);\
myFile = u_fopen(STANDARD_TEST_FILE, "w", STANDARD_TEST_LOCALE, NULL);\
if (myFile == NULL) {\
log_err("Can't write test file for %s.\n", uFormat);\
return;\
@ -1123,7 +1129,7 @@ static void TestFilePrintCompatibility(void) {
\
uNumPrinted = u_fprintf(myFile, uFormat, uValue);\
u_fclose(myFile);\
myFile = u_fopen(STANDARD_TEST_FILE, "r", "en_US_POSIX", NULL);\
myFile = u_fopen(STANDARD_TEST_FILE, "r", STANDARD_TEST_LOCALE, NULL);\
u_fgets(uBuffer, sizeof(uBuffer)/sizeof(*uBuffer), myFile);\
u_fclose(myFile);\
u_austrncpy(compBuffer, uBuffer, sizeof(uBuffer)/sizeof(*uBuffer));\
@ -1254,14 +1260,14 @@ static void TestFprintfFormat(void) {
TestFPrintFormat("%3f", 1.234, "%3f", 1.234);
TestFPrintFormat("%3f", -1.234, "%3f", -1.234);
myFile = u_fopen(STANDARD_TEST_FILE, "w", "en_US_POSIX", NULL);
myFile = u_fopen(STANDARD_TEST_FILE, "w", STANDARD_TEST_LOCALE, NULL);
/* Reinitialize the buffer to verify null termination works. */
u_memset(uBuffer, 0x2a, sizeof(uBuffer)/sizeof(*uBuffer));
memset(buffer, '*', sizeof(buffer)/sizeof(*buffer));
uNumPrinted = u_fprintf(myFile, "%d % d %d", -1234, 1234, 1234);
u_fclose(myFile);
myFile = u_fopen(STANDARD_TEST_FILE, "r", "en_US_POSIX", NULL);
myFile = u_fopen(STANDARD_TEST_FILE, "r", STANDARD_TEST_LOCALE, NULL);
u_fgets(uBuffer, sizeof(uBuffer)/sizeof(*uBuffer), myFile);
u_fclose(myFile);
u_austrncpy(compBuffer, uBuffer, sizeof(uBuffer)/sizeof(*uBuffer));
@ -1302,7 +1308,7 @@ static void TestFScanSetFormat(const char *format, const UChar *uValue, const ch
u_fprintf(myFile, "%S", uValue);
u_fclose(myFile);
myFile = u_fopen(STANDARD_TEST_FILE, "r", "en_US_POSIX", NULL);
myFile = u_fopen(STANDARD_TEST_FILE, "r", STANDARD_TEST_LOCALE, NULL);
uNumScanned = u_fscanf(myFile, format, uBuffer);
u_fclose(myFile);
if (expectedToPass) {
@ -1387,7 +1393,7 @@ static void TestBadFScanfFormat(const char *format, const UChar *uValue, const c
u_fprintf(myFile, "%S", uValue);
u_fclose(myFile);
myFile = u_fopen(STANDARD_TEST_FILE, "r", "en_US_POSIX", NULL);
myFile = u_fopen(STANDARD_TEST_FILE, "r", STANDARD_TEST_LOCALE, NULL);
uNumScanned = u_fscanf(myFile, format, uBuffer);
u_fclose(myFile);
if (uNumScanned != 0 || uBuffer[0] != 0x2a || uBuffer[1] != 0x2a) {
@ -1411,7 +1417,7 @@ static void Test_u_vfprintf(const char *expectedResult, const char *format, ...)
int32_t count;
UFILE *myFile;
myFile = u_fopen(STANDARD_TEST_FILE, "w", "en_US_POSIX", "UTF-8");
myFile = u_fopen(STANDARD_TEST_FILE, "w", STANDARD_TEST_LOCALE, "UTF-8");
if (!myFile) {
log_err("Test file can't be opened\n");
return;
@ -1425,7 +1431,7 @@ static void Test_u_vfprintf(const char *expectedResult, const char *format, ...)
u_fclose(myFile);
myFile = u_fopen(STANDARD_TEST_FILE, "r", "en_US_POSIX", "UTF-8");
myFile = u_fopen(STANDARD_TEST_FILE, "r", STANDARD_TEST_LOCALE, "UTF-8");
if (!myFile) {
log_err("Test file can't be opened\n");
return;
@ -1438,7 +1444,7 @@ static void Test_u_vfprintf(const char *expectedResult, const char *format, ...)
u_fclose(myFile);
myFile = u_fopen(STANDARD_TEST_FILE, "w", "en_US_POSIX", NULL);
myFile = u_fopen(STANDARD_TEST_FILE, "w", STANDARD_TEST_LOCALE, NULL);
if (!myFile) {
log_err("Test file can't be opened\n");
return;
@ -1452,7 +1458,7 @@ static void Test_u_vfprintf(const char *expectedResult, const char *format, ...)
u_fclose(myFile);
myFile = u_fopen(STANDARD_TEST_FILE, "r", "en_US_POSIX", NULL);
myFile = u_fopen(STANDARD_TEST_FILE, "r", STANDARD_TEST_LOCALE, NULL);
if (!myFile) {
log_err("Test file can't be opened\n");
return;
@ -1580,6 +1586,8 @@ U_CFUNC void
addFileTest(TestNode** root) {
#if !UCONFIG_NO_FORMATTING
addTest(root, &TestFile, "file/TestFile");
addTest(root, &TestFinit, "file/TestFinit");
addTest(root, &TestFadopt, "file/TestFadopt");
#endif
addTest(root, &StdinBuffering, "file/StdinBuffering");
addTest(root, &TestfgetsBuffers, "file/TestfgetsBuffers");