dat_wcrtomb.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /*
  2. * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
  3. *
  4. * FILE: dat_wcrtomb.c
  5. *
  6. * WCRTOMB: intwcrtomb (char *s, wchar_t wc, mbstate_t *ps);
  7. *
  8. */
  9. TST_WCRTOMB tst_wcrtomb_loc [] = {
  10. {
  11. { Twcrtomb, TST_LOC_de },
  12. {
  13. /* #01 : normal case */
  14. { /*input.*/ { 1, 0x00FC, 0,0 },
  15. /*expect*/ { 0, 1,1, "ü" },
  16. },
  17. /* #02 : normal case */
  18. { /*input.*/ { 1, 0x00D6, 0,0 },
  19. /*expect*/ { 0, 1,1, "Ö" },
  20. },
  21. /* #03 : error case */
  22. { /*input.*/ { 1, 0xFFA1, 0,0 },
  23. /*expect*/ { EILSEQ,1,-1, "" },
  24. },
  25. /* #04 : */
  26. { /*input.*/ { 0, 0x0041, 0,0 },
  27. /*expect*/ { 0, 1,1, "" },
  28. },
  29. /* #05 : */
  30. { /*input.*/ { 0, 0x0092, 0,0 },
  31. /*expect*/ { 0, 1,1, "" },
  32. },
  33. { .is_last = 1 }
  34. }
  35. },
  36. {
  37. { Twcrtomb, TST_LOC_enUS },
  38. {
  39. /* #01 : normal case */
  40. { /*input.*/ { 1, 0x0041, 0,0 },
  41. /*expect*/ { 0, 1,1, "A" },
  42. },
  43. /* #02 : normal case */
  44. { /*input.*/ { 1, 0x0042, 0,0 },
  45. /*expect*/ { 0, 1,1, "B" },
  46. },
  47. /* #03 : error case */
  48. /* <WAIVER> x 2 */
  49. { /*input.*/ { 1, 0x0092, 0,0 }, /* assume ascii */
  50. /*expect*/ { EILSEQ,1,-1, "" },
  51. },
  52. /* #04 : */
  53. { /*input.*/ { 0, 0x0041, 0,0 },
  54. /*expect*/ { 0, 1,1, "" },
  55. },
  56. /* #05 : */
  57. { /*input.*/ { 0, 0x0092, 0,0 },
  58. /*expect*/ { 0, 1,1, "" },
  59. },
  60. { .is_last = 1 }
  61. }
  62. },
  63. #if 0
  64. {
  65. { Twcrtomb, TST_LOC_eucJP },
  66. {
  67. /* #01 : normal case */
  68. { /*input.*/ { 1, 0x3042, 0,0 },
  69. /*expect*/ { 0, 1,2, "\244\242" },
  70. },
  71. /* #02 : normal case */
  72. { /*input.*/ { 1, 0x3044, 0,0 },
  73. /*expect*/ { 0, 1,2, "\244\244" },
  74. },
  75. /* #03 : normal case */
  76. { /*input.*/ { 1, 0x008E, 0,0 },
  77. /*expect*/ { EILSEQ, 1,-1, "" },
  78. },
  79. /* #04 : */
  80. { /*input.*/ { 0, 0x3042, 0,0 },
  81. /*expect*/ { 0, 0,0, "" },
  82. },
  83. /* #05 : */
  84. { /*input.*/ { 0, 0x008E, 0,0 },
  85. /*expect*/ { 0, 0,0, "" },
  86. },
  87. { .is_last = 1 }
  88. }
  89. },
  90. #else
  91. {
  92. { Twcrtomb, TST_LOC_ja_UTF8 },
  93. {
  94. /* #01 : normal case */
  95. { /*input.*/ { 1, 0x3042, 0,0 },
  96. /*expect*/ { 0, 1,3, "\343\201\202" },
  97. },
  98. /* #02 : normal case */
  99. { /*input.*/ { 1, 0x3044, 0,0 },
  100. /*expect*/ { 0, 1,3, "\343\201\204" },
  101. },
  102. /* #03 : normal case */
  103. { /*input.*/ { 1, 0x008E, 0,0 },
  104. /*expect*/ { EILSEQ, 1,-1, "" },
  105. },
  106. /* #04 : */
  107. { /*input.*/ { 0, 0x3042, 0,0 },
  108. /*expect*/ { 0, 0,0, "" },
  109. },
  110. /* #05 : */
  111. { /*input.*/ { 0, 0x008E, 0,0 },
  112. /*expect*/ { 0, 0,0, "" },
  113. },
  114. { .is_last = 1 }
  115. }
  116. },
  117. #endif
  118. {
  119. { Twcrtomb, TST_LOC_end }
  120. }
  121. };