Home | History | Annotate | Download | only in cintltst
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 1997-2007, International Business Machines Corporation
      4  * and others. All Rights Reserved.
      5  ********************************************************************/
      6 /********************************************************************************
      7 *
      8 * File CFORMTST.C
      9 *
     10 * Modification History:
     11 *        Name                     Description
     12 *     Madhu Katragadda               Creation
     13 *********************************************************************************
     14 */
     15 
     16 /* FormatTest is a medium top level test for everything in the  C FORMAT API */
     17 
     18 #include "unicode/utypes.h"
     19 
     20 #if !UCONFIG_NO_FORMATTING
     21 
     22 #include "cintltst.h"
     23 #include "cformtst.h"
     24 
     25 void addCalTest(TestNode**);
     26 void addDateForTest(TestNode**);
     27 void addDateTimePatternGeneratorTest(TestNode** root);
     28 void addNumForTest(TestNode**);
     29 void addMsgForTest(TestNode**);
     30 void addDateForRgrTest(TestNode**);
     31 void addNumFrDepTest(TestNode**);
     32 void addDtFrDepTest(TestNode**);
     33 void addUtmsTest(TestNode**);
     34 void addCurrencyTest(TestNode**);
     35 
     36 void addFormatTest(TestNode** root);
     37 
     38 void addFormatTest(TestNode** root)
     39 {
     40     addCalTest(root);
     41     addDateForTest(root);
     42     addDateTimePatternGeneratorTest(root);
     43     addNumForTest(root);
     44     addNumFrDepTest(root);
     45     addMsgForTest(root);
     46     addDateForRgrTest(root);
     47     addDtFrDepTest(root);
     48     addUtmsTest(root);
     49     addCurrencyTest(root);
     50 }
     51 /*Internal functions used*/
     52 
     53 UChar* myDateFormat(UDateFormat* dat, UDate d1)
     54 {
     55     UChar *result1=NULL;
     56     int32_t resultlength, resultlengthneeded;
     57     UErrorCode status = U_ZERO_ERROR;
     58 
     59 
     60     resultlength=0;
     61     resultlengthneeded=udat_format(dat, d1, NULL, resultlength, NULL, &status);
     62     if(status==U_BUFFER_OVERFLOW_ERROR)
     63     {
     64         status=U_ZERO_ERROR;
     65         resultlength=resultlengthneeded+1;
     66         result1=(UChar*)ctst_malloc(sizeof(UChar) * resultlength);
     67         udat_format(dat, d1, result1, resultlength, NULL, &status);
     68     }
     69     if(U_FAILURE(status))
     70     {
     71         log_err("Error in formatting using udat_format(.....): %s\n", myErrorName(status));
     72         return 0;
     73     }
     74     return result1;
     75 
     76 }
     77 
     78 #endif /* #if !UCONFIG_NO_FORMATTING */
     79