dat_mbrtowc.c 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. /*
  2. * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
  3. *
  4. * FILE: dat_mbrtowc.c
  5. *
  6. * MBTOWC: size_t mbrtowc (wchar_t *pwc, char *s, size_t n,
  7. * mbstate_t *ps);
  8. */
  9. #include <limits.h>
  10. /* Note:
  11. assumes en_US = en_US.ascii
  12. */
  13. TST_MBRTOWC tst_mbrtowc_loc [] = {
  14. {
  15. { Tmbrtowc, TST_LOC_de },
  16. {
  17. { /*----------------- #01 -----------------*/
  18. {
  19. {
  20. { 1, 1, "ÄÖÜ", 1, 0, 0 },
  21. { 1, 1, "ÄÖÜ", 2, 0, 0 },
  22. { 1, 1, "ÄÖÜ", USE_MBCURMAX, 0, 0 },
  23. }
  24. },
  25. {
  26. {
  27. { 0, 1, 1, 0x00C4 },
  28. { 0, 1, 1, 0x00C4 },
  29. { 0, 1, 1, 0x00C4 },
  30. }
  31. }
  32. },
  33. { /*----------------- #02 -----------------*/
  34. {
  35. {
  36. { 1, 1, "ÄÖÜ", 1, 0, 0 },
  37. { 1, 1, "ÄÖÜ", 2, 0, 0 },
  38. { 1, 1, "ÄÖÜ", USE_MBCURMAX, 0, 0 },
  39. }
  40. },
  41. {
  42. {
  43. { 0, 1, 1, 0x00C4 },
  44. { 0, 1, 1, 0x00C4 },
  45. { 0, 1, 1, 0x00C4 },
  46. }
  47. }
  48. },
  49. { .is_last = 1 }
  50. }
  51. },
  52. #if 0
  53. /* XXX: These tests don't make sense to me. */
  54. {
  55. { Tmbrtowc, TST_LOC_enUS },
  56. {
  57. { /*----------------- #01 -----------------*/
  58. {
  59. {
  60. { 1, 1, "ÄÖÜ", 1, 0, 0 },
  61. { 1, 1, "ÄÖÜ", 2, 0, 0 },
  62. { 1, 1, "ÄÖÜ", USE_MBCURMAX, 0, 0 },
  63. }
  64. },
  65. {
  66. {
  67. { 0, 1, 1, 0x00C4 },
  68. { 0, 1, 1, 0x00C4 },
  69. { 0, 1, 1, 0x00C4 },
  70. }
  71. }
  72. },
  73. { /*----------------- #02 -----------------*/
  74. {
  75. {
  76. { 1, 1, "ÄÖÜ", 1, 0, 0 },
  77. { 1, 1, "ÄÖÜ", 2, 0, 0 },
  78. { 1, 1, "ÄÖÜ", USE_MBCURMAX, 0, 0 },
  79. }
  80. },
  81. {
  82. {
  83. { 0, 1, 1, 0x00C4 },
  84. { 0, 1, 1, 0x00C4 },
  85. { 0, 1, 1, 0x00C4 },
  86. }
  87. }
  88. },
  89. { .is_last = 1 }
  90. }
  91. },
  92. {
  93. { Tmbrtowc, TST_LOC_eucJP },
  94. {
  95. { /*----------------- #01 -----------------*/
  96. {
  97. {
  98. { 1, 1, "ÄÖÜ", 1, 0, 0 },
  99. { 1, 1, "ÄÖÜ", 2, 0, 0 },
  100. { 1, 1, "ÄÖÜ", USE_MBCURMAX, 0, 0 },
  101. }
  102. },
  103. {
  104. {
  105. { 0, 1, 1, 0x00C4 },
  106. { 0, 1, 1, 0x00C4 },
  107. { 0, 1, 1, 0x00C4 },
  108. }
  109. }
  110. },
  111. { /*----------------- #02 -----------------*/
  112. {
  113. {
  114. { 1, 1, "ÄÖÜ", 1, 0, 0 },
  115. { 1, 1, "ÄÖÜ", 2, 0, 0 },
  116. { 1, 1, "ÄÖÜ", USE_MBCURMAX, 0, 0 },
  117. }
  118. },
  119. {
  120. {
  121. { 0, 1, 1, 0x00C4 },
  122. { 0, 1, 1, 0x00C4 },
  123. { 0, 1, 1, 0x00C4 },
  124. }
  125. }
  126. },
  127. { .is_last = 1 }
  128. }
  129. },
  130. #endif
  131. {
  132. { Tmbrtowc, TST_LOC_end }
  133. }
  134. };