]> Savannah Git Hosting - gnulib.git/commitdiff
mbsrtoc32s tests: Enhance test.
authorBruno Haible <bruno@clisp.org>
Sat, 4 Jan 2020 18:37:41 +0000 (19:37 +0100)
committerBruno Haible <bruno@clisp.org>
Sat, 4 Jan 2020 18:39:17 +0000 (19:39 +0100)
* tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
test strings for UTF-8 and GB18030.

ChangeLog
tests/test-mbsrtoc32s.c

index dcb65060652e5ee2a1dc5ccc162503a74b0d6485..282543721e6fd66dfa7593780d2d1bc2e2786884 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-04  Bruno Haible  <bruno@clisp.org>
+
+       mbsrtoc32s tests: Enhance test.
+       * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
+       test strings for UTF-8 and GB18030.
+
 2020-01-04  Bruno Haible  <bruno@clisp.org>
 
        mbsrtoc32s: Fix bug.
index cd99416908331f5202b3235213ebc79db28e62e3..5c25f9fec861f2653112830aac852867d58e7299 100644 (file)
@@ -139,13 +139,13 @@ main (int argc, char *argv[])
             case '2':
               /* Locale encoding is UTF-8.  */
               {
-                char input[] = "B\303\274\303\237er"; /* "Büßer" */
+                char input[] = "s\303\274\303\237\360\237\230\213!"; /* "süß😋!" */
                 memset (&state, '\0', sizeof (mbstate_t));
 
                 wc = (char32_t) 0xBADFACE;
                 ret = mbrtoc32 (&wc, input, 1, &state);
                 ASSERT (ret == 1);
-                ASSERT (wc == 'B');
+                ASSERT (wc == 's');
                 ASSERT (mbsinit (&state));
                 input[0] = '\0';
 
@@ -171,8 +171,8 @@ main (int argc, char *argv[])
                 ASSERT (c32tob (buf[1]) == EOF);
                 if (unlimited)
                   {
-                    ASSERT (buf[2] == 'e');
-                    ASSERT (buf[3] == 'r');
+                    ASSERT (buf[2] == 0x1F60B); /* expect Unicode encoding */
+                    ASSERT (buf[3] == '!');
                     ASSERT (buf[4] == 0);
                     ASSERT (buf[5] == (char32_t) 0xBADFACE);
                   }
@@ -238,13 +238,13 @@ main (int argc, char *argv[])
             case '4':
               /* Locale encoding is GB18030.  */
               {
-                char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
+                char input[] = "s\250\271\201\060\211\070\224\071\375\067!"; /* "süß😋!" */
                 memset (&state, '\0', sizeof (mbstate_t));
 
                 wc = (char32_t) 0xBADFACE;
                 ret = mbrtoc32 (&wc, input, 1, &state);
                 ASSERT (ret == 1);
-                ASSERT (wc == 'B');
+                ASSERT (wc == 's');
                 ASSERT (mbsinit (&state));
                 input[0] = '\0';
 
@@ -270,8 +270,8 @@ main (int argc, char *argv[])
                 ASSERT (c32tob (buf[1]) == EOF);
                 if (unlimited)
                   {
-                    ASSERT (buf[2] == 'e');
-                    ASSERT (buf[3] == 'r');
+                    ASSERT (c32tob (buf[2]) == EOF);
+                    ASSERT (buf[3] == '!');
                     ASSERT (buf[4] == 0);
                     ASSERT (buf[5] == (char32_t) 0xBADFACE);
                   }