Back to index

glibc  2.9
dat_wcrtomb.c
Go to the documentation of this file.
00001 /*
00002  *  TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
00003  *
00004  *      FILE: dat_wcrtomb.c
00005  *
00006  *      WCRTOMB:  intwcrtomb (char *s, wchar_t wc, mbstate_t *ps);
00007  *
00008  */
00009 
00010 TST_WCRTOMB tst_wcrtomb_loc [] = {
00011   {
00012     { Twcrtomb, TST_LOC_de },
00013     {
00014       /* #01 : normal case                       */
00015       { /*input.*/ { 1,             0x00FC,   0,0 },
00016        /*expect*/ { 0,         1,1,        ""          },
00017       },
00018       /* #02 : normal case                       */
00019       { /*input.*/ { 1,             0x00D6,   0,0 },
00020        /*expect*/ { 0,         1,1,        ""          },
00021       },
00022       /* #03 : error case                        */
00023       { /*input.*/ { 1,             0xFFA1,   0,0 },
00024        /*expect*/ {  EILSEQ,1,-1, ""             },
00025       },
00026       /* #04 :                                   */
00027       { /*input.*/ { 0,             0x0041,   0,0 },
00028        /*expect*/ { 0,         1,1,        ""           },
00029       },
00030       /* #05 :                                   */
00031       { /*input.*/ { 0,             0x0092,   0,0 },
00032        /*expect*/ { 0,         1,1,        ""           },
00033       },
00034       { .is_last = 1 }
00035     }
00036   },
00037   {
00038     { Twcrtomb, TST_LOC_enUS },
00039     {
00040       /* #01 : normal case                       */
00041       { /*input.*/ { 1,             0x0041,   0,0 },
00042        /*expect*/ { 0,         1,1,        "A"          },
00043       },
00044       /* #02 : normal case                       */
00045       { /*input.*/ { 1,             0x0042,   0,0 },
00046        /*expect*/ { 0,         1,1,        "B"          },
00047       },
00048       /* #03 : error case                        */
00049       /* <WAIVER> x 2 */
00050       { /*input.*/ { 1,             0x0092,   0,0 },  /* assume ascii */
00051        /*expect*/ {  EILSEQ,1,-1, ""             },
00052       },
00053       /* #04 :                                   */
00054       { /*input.*/ { 0,             0x0041,   0,0 },
00055        /*expect*/ { 0,         1,1,        ""           },
00056       },
00057       /* #05 :                                   */
00058       { /*input.*/ { 0,             0x0092,   0,0 },
00059        /*expect*/ { 0,         1,1,        ""           },
00060       },
00061       { .is_last = 1 }
00062     }
00063   },
00064   {
00065     { Twcrtomb, TST_LOC_eucJP },
00066     {
00067       /* #01 : normal case                       */
00068       { /*input.*/ { 1,             0x3042,   0,0 },
00069        /*expect*/ { 0,      1,2,  "\244\242"        },
00070       },
00071       /* #02 : normal case                       */
00072       { /*input.*/ { 1,             0x3044,   0,0 },
00073        /*expect*/ { 0,      1,2,  "\244\244"        },
00074       },
00075       /* #03 : normal case                       */
00076       { /*input.*/ { 1,             0x008E,   0,0 },
00077        /*expect*/ { EILSEQ, 1,-1, ""             },
00078       },
00079       /* #04 :                                   */
00080       { /*input.*/ { 0,             0x3042,   0,0 },
00081        /*expect*/ { 0,         0,0,        ""           },
00082       },
00083       /* #05 :                                   */
00084       { /*input.*/ { 0,             0x008E,   0,0 },
00085        /*expect*/ { 0,         0,0,        ""           },
00086       },
00087       { .is_last = 1 }
00088     }
00089   },
00090   {
00091     { Twcrtomb, TST_LOC_end }
00092   }
00093 };