dat_wcwidth.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. /*
  2. * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
  3. *
  4. * FILE: dat_wcwidth.c
  5. *
  6. * WCWIDTH: int wcwidth (wchar_t wc);
  7. */
  8. TST_WCWIDTH tst_wcwidth_loc [] = {
  9. {
  10. { Twcwidth, TST_LOC_de },
  11. {
  12. { /*inp*/ { 0x0000 }, /* #01 */
  13. /*exp*/ { 0, 1,0, },
  14. },
  15. { /*inp*/ { 0x0020 }, /* #02 */
  16. /*exp*/ { 0, 1,1, },
  17. },
  18. { /*inp*/ { 0x007F }, /* #03 */
  19. /*exp*/ { 0, 1,-1, },
  20. },
  21. { /*inp*/ { 0x0080 }, /* #04 */
  22. /*exp*/ { 0, 1,-1, },
  23. },
  24. { /*inp*/ { 0x00A1 }, /* #05 */
  25. /*exp*/ { 0, 1,1, },
  26. },
  27. { /*inp*/ { 0x00C1 }, /* #06 */
  28. /*exp*/ { 0, 1,1, },
  29. },
  30. #ifdef SHOJI_IS_RIGHT
  31. /* <WAIVER> */ /* CHECK : wint_t */
  32. { /*inp*/ { 0x3041 }, /* #07 */
  33. /*exp*/ { 0, 1,0, },
  34. },
  35. #else
  36. { /*inp*/ { 0x3041 }, /* #07 */
  37. /*exp*/ { 0, 1,EOF, },
  38. },
  39. #endif
  40. { .is_last = 1 }
  41. }
  42. },
  43. {
  44. { Twcwidth, TST_LOC_enUS },
  45. {
  46. { /*inp*/ { 0x0000 }, /* #01 */
  47. /*exp*/ { 0, 1,0, },
  48. },
  49. { /*inp*/ { 0x0020 }, /* #02 */
  50. /*exp*/ { 0, 1,1, },
  51. },
  52. { /*inp*/ { 0x007F }, /* #03 */
  53. /*exp*/ { 0, 1,-1, },
  54. },
  55. { /*inp*/ { 0x0080 }, /* #04 */
  56. /*exp*/ { 0, 1,-1, },
  57. },
  58. { /*inp*/ { 0x00A1 }, /* #05 */
  59. /*exp*/ { 0, 1,-1, },
  60. },
  61. { /*inp*/ { 0x00C1 }, /* #06 */
  62. /*exp*/ { 0, 1,-1, },
  63. },
  64. { /*inp*/ { 0x3041 }, /* #07 */
  65. /*exp*/ { 0, 1,-1, },
  66. },
  67. { .is_last = 1 }
  68. }
  69. },
  70. #if 0
  71. {
  72. { Twcwidth, TST_LOC_eucJP },
  73. {
  74. { /*inp*/ { 0x0000 }, /* #01 */
  75. /*exp*/ { 0, 1,0, },
  76. },
  77. { /*inp*/ { 0x0020 }, /* #02 */
  78. /*exp*/ { 0, 1,1, },
  79. },
  80. { /*inp*/ { 0x007F }, /* #03 */
  81. /*exp*/ { 0, 1,-1, },
  82. },
  83. { /*inp*/ { 0x0080 }, /* #04 */
  84. /*exp*/ { 0, 1,-1, },
  85. },
  86. #ifdef SHOJI_IS_RIGHT
  87. /* <NO_WAIVER> */
  88. { /*inp*/ { 0x00A1 }, /* #05 */
  89. /*exp*/ { 0, 1,0, },
  90. },
  91. #else
  92. /* XXX U00A1 is a valid character in EUC-JP. */
  93. { /*inp*/ { 0x00A1 }, /* #05 */
  94. /*exp*/ { 0, 1,2, },
  95. },
  96. #endif
  97. /* jisx0212 */
  98. { /*inp*/ { 0x00C1 }, /* #06 */
  99. /*exp*/ { 0, 1,2, },
  100. },
  101. { /*inp*/ { 0x3041 }, /* #07 */
  102. /*exp*/ { 0, 1,2, },
  103. },
  104. { .is_last = 1 }
  105. }
  106. },
  107. #else
  108. {
  109. { Twcwidth, TST_LOC_ja_UTF8 },
  110. {
  111. { /*inp*/ { 0x0000 }, /* #01 */
  112. /*exp*/ { 0, 1,0, },
  113. },
  114. { /*inp*/ { 0x0020 }, /* #02 */
  115. /*exp*/ { 0, 1,1, },
  116. },
  117. { /*inp*/ { 0x007F }, /* #03 */
  118. /*exp*/ { 0, 1,-1, },
  119. },
  120. { /*inp*/ { 0x0080 }, /* #04 */
  121. /*exp*/ { 0, 1,-1, },
  122. },
  123. #ifdef SHOJI_IS_RIGHT
  124. /* <NO_WAIVER> */
  125. { /*inp*/ { 0x00A1 }, /* #05 */
  126. /*exp*/ { 0, 1,0, },
  127. },
  128. #else
  129. /* XXX U00A1 is a valid character in EUC-JP.UTF-8. */
  130. { /*inp*/ { 0x00A1 }, /* #05 */
  131. /*exp*/ { 0, 1,1, },
  132. },
  133. #endif
  134. /* jisx0212 */
  135. { /*inp*/ { 0x00C1 }, /* #06 */
  136. /*exp*/ { 0, 1,1, },
  137. },
  138. { /*inp*/ { 0x3041 }, /* #07 */
  139. /*exp*/ { 0, 1,2, },
  140. },
  141. { .is_last = 1 }
  142. }
  143. },
  144. #endif
  145. {
  146. { Twcwidth, TST_LOC_end }
  147. }
  148. };