| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 | /* *  TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY * *	 FILE:	dat_wctomb.c * *	 WCTOMB:  int wctomb (char *s, wchar_t wc) *//* *  FUNCTION: * *	  int  wctomb (char *s, wchar_t wc); * *	       return: the number of bytes * *  NOTE: * *	 o When you feed a null pointer for a string (s) to the function, *	   set s_flg=0 instead of putting just a 'NULL' there. *	   Even if you put a 'NULL', it means a null string as well as "". * *	 o When s is a null pointer, the function checks state dependency. * *	       state-dependent encoding	     - return  NON-zero *	       state-independent encoding    - return  0 * *	   If state-dependent encoding is expected, set * *	       s_flg = 0,  ret_flg = 0,	 ret_val = +1 * *	   If state-independent encoding is expected, set * *	       s_flg = 0,  ret_flg = 0,	 ret_val = 0 * * *	   When you set ret_flg=1, the test program simply compares an *	   actual return value with an expected value. You can check *	   state-independent case (return value is 0) in that way, but *	   you can not check state-dependent case. So when you check *	   state- dependency in this test function: tst_wctomb(), set *	   ret_flg=0 always. It's a special case, and the test *	   function takes care of it. * *	      Input	  Expect * *		s_flg=0		  ret_flg=0 *		|		  | *	      { 0, 0 },	  { 0, 0, 0,  x,  "" } *		   |		      | *		   not used	      ret_val: 0/+1 * (expected val) */TST_WCTOMB tst_wctomb_loc [] = {  {    { Twctomb, TST_LOC_de },    {      /* #01 : normal case		   */      { /*input.*/ { 1,	   0x00C4  },	/*expect*/ { 0,1,1,  "Ä"	   },      },      /* #02 : normal case		   */      { /*input.*/ { 1,	   0x00DC  },	/*expect*/ { 0,1,1,  "Ü"	   },      },      /* #03 : normal case		   */      { /*input.*/ { 1,	   0x0092  },	/*expect*/ { 0,1,1,  "\222"  },      },      /* #04 : error case		   */      { /*input.*/ { 1,	   0x3041  },	/*expect*/ { 0,1,-1, ""	   },      },      /* #05 : state dependency	   */      { /*input.*/ { 0,	   0x0000  },	/*expect*/ { 0,0,0,  ""	   },      },      { .is_last = 1 }    }  },  {    { Twctomb, TST_LOC_enUS },    {      /* #01 : normal case		   */      { /*input.*/ { 1,	   0x0041  },	/*expect*/ { 0,1,1,  "A"	   },      },      /* #02 : normal case		   */      { /*input.*/ { 1,	   0x0042  },	/*expect*/ { 0,1,1,  "B"	   },      },      /* #03 : error case		   */      /* <WAIVER> */      { /*input.*/ { 1,	   0x00C4  },	/*expect*/ { 0,1,-1, ""	   },      },      /* #04 : error case		   */      { /*input.*/ { 1,	   0x30A4  },	/*expect*/ { 0,1,-1, ""	   },      },      /* #05 : state dependency	   */      { /*input.*/ { 0,	   0x0000  },	/*expect*/ { 0,0,0,  ""	   },      },      { .is_last = 1 }    }  },#if 0  {    { Twctomb, TST_LOC_eucJP },    {      /* #01 : normal case		   */      { /*input.*/ { 1,	   0x3042  },	/*expect*/ { 0,1,2,  "\244\242"   },      },      /* #02 : normal case		   */      { /*input.*/ { 1,	   0x3044  },	/*expect*/ { 0,1,2,  "\244\244"   },      },      /* #03 : normal case		   */      { /*input.*/ { 1,	   0x008E  },	/*expect*/ { 0,1,-1, ""	   },      },      /* #04 : jisX0212		   */      { /*input.*/ { 1,	   0x00C4	  },	/*expect*/ { 0,1,3,  "\217\252\243" }, /* jisx0210  returns 3 */      },      /* #05 : state dependency	   */      { /*input.*/ { 0,	   0x008E  },	/*expect*/ { 0,0,0,  ""	   },      },      { .is_last = 1 }    }  },#else  {    { Twctomb, TST_LOC_ja_UTF8 },    {      /* #01 : normal case		   */      { /*input.*/ { 1,	   0x3042  },	/*expect*/ { 0,1,3,  "\343\201\202"   },      },      /* #02 : normal case		   */      { /*input.*/ { 1,	   0x3044  },	/*expect*/ { 0,1,3,  "\343\201\204"   },      },      /* #03 : normal case		   */      { /*input.*/ { 1,	   0x008E  },	/*expect*/ { 0,1,2, "\302\216"	   },      },      /* #04 : jisX0212		   */      { /*input.*/ { 1,	   0x00C4	  },	/*expect*/ { 0,1,2,  "\303\204" }, /* jisx0210  returns 3 */      },      /* #05 : state dependency	   */      { /*input.*/ { 0,	   0x008E  },	/*expect*/ { 0,0,0,  ""	   },      },      { .is_last = 1 }    }  },#endif  {    { Twctomb, TST_LOC_end }  }};
 |