scuffed-code/icu4c/source/test/cintltst/cformtst.c

100 lines
2.3 KiB
C
Raw Normal View History

/********************************************************************
* COPYRIGHT:
* Copyright (c) 1997-1999, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
/********************************************************************************
1999-08-16 21:50:52 +00:00
*
* File CFORMTST.C
*
* Modification History:
* Name Description
* Madhu Katragadda Creation
*********************************************************************************
*/
/* FormatTest is a medium top level test for everything in the C FORMAT API */
#include "cintltst.h"
#include "cformtst.h"
void addCalTest(TestNode**);
void addDateForTest(TestNode**);
void addNumForTest(TestNode**);
void addMsgForTest(TestNode**);
void addDateForRgrTest(TestNode**);
void addNumFrDepTest(TestNode**);
void addDtFrDepTest(TestNode**);
void checkHeap()
{
int i;
void *n[2048];
log_info("checkHeap...");
for(i=0;i<1;i++)
{
n[i]= malloc(i+15);
}
/* for(i=0;i<2048;i++)
{
free(n[i]);
}*/
}
void addFormatTest(TestNode** root)
{
addCalTest(root);
/* addTest(root, &checkHeap, "/tsformat/mallocTest2" ); */
addDateForTest(root);
/* addTest(root, &checkHeap, "/tsformat/mallocTest3" ); */
addNumForTest(root);
/* addTest(root, &checkHeap, "/tsformat/mallocTest4" ); */
addNumFrDepTest(root);
/* addTest(root, &checkHeap, "/tsformat/mallocTest5" ); */
addMsgForTest(root);
addDateForRgrTest(root);
addDtFrDepTest(root);
}
/*INternal functions used*/
UChar* myDateFormat(UDateFormat* dat, UDate d1)
{
UChar *result1;
int32_t resultlength, resultlengthneeded;
UFieldPosition pos;
UErrorCode status = U_ZERO_ERROR;
1999-08-16 21:50:52 +00:00
resultlength=0;
resultlengthneeded=udat_format(dat, d1, NULL, resultlength, &pos, &status);
if(status==U_BUFFER_OVERFLOW_ERROR)
1999-08-16 21:50:52 +00:00
{
status=U_ZERO_ERROR;
1999-08-16 21:50:52 +00:00
resultlength=resultlengthneeded+1;
result1=(UChar*)malloc(sizeof(UChar) * resultlength);
udat_format(dat, d1, result1, resultlength, &pos, &status);
}
if(U_FAILURE(status))
1999-08-16 21:50:52 +00:00
{
log_err("Error in formatting using udat_format(.....): %s\n", myErrorName(status));
return 0;
}
return result1;
}