]> Savannah Git Hosting - gnulib.git/commitdiff
uniwbrk: Add unit tests of regional indicators.
authorBruno Haible <bruno@clisp.org>
Tue, 28 Dec 2021 23:05:45 +0000 (00:05 +0100)
committerBruno Haible <bruno@clisp.org>
Tue, 28 Dec 2021 23:05:45 +0000 (00:05 +0100)
* tests/uniwbrk/test-u8-wordbreaks.c (main): Add test of regional
indicators.
* tests/uniwbrk/test-u16-wordbreaks.c (main): Likewise.
* tests/uniwbrk/test-u32-wordbreaks.c (main): Likewise.

ChangeLog
tests/uniwbrk/test-u16-wordbreaks.c
tests/uniwbrk/test-u32-wordbreaks.c
tests/uniwbrk/test-u8-wordbreaks.c

index fd2db814aabd7fbf1e5bfb6d86c42b2502c8c2cf..75efed19606c2bde399e7260c6231c1a347a6828 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2021-12-28  Bruno Haible  <bruno@clisp.org>
+
+       uniwbrk: Add unit tests of regional indicators.
+       * tests/uniwbrk/test-u8-wordbreaks.c (main): Add test of regional
+       indicators.
+       * tests/uniwbrk/test-u16-wordbreaks.c (main): Likewise.
+       * tests/uniwbrk/test-u32-wordbreaks.c (main): Likewise.
+
 2021-12-28  Bruno Haible  <bruno@clisp.org>
 
        unigbrk: Simplify code for regional indicators.
index e26b80729b944671fc4ae73132f813c3bc572e4f..eb6b13c61a417e153665850dd4a687e858371595 100644 (file)
@@ -90,5 +90,20 @@ main ()
     free (p);
   }
 
+  /* Test regional indicators.  */
+  {
+    static const uint16_t input[10] =
+      { '.', 0xD83C, 0xDDE9, 0xD83C, 0xDDEA, 0xD83C, 0xDDEB, 0xD83C, 0xDDF7, '.' };
+    char *p = (char *) malloc (SIZEOF (input));
+    size_t i;
+
+    u16_wordbreaks (input, SIZEOF (input), p);
+    for (i = 0; i < 10; i++)
+      {
+        ASSERT (p[i] == (i == 1 || i == 5 || i == 9 ? 1 : 0));
+      }
+    free (p);
+  }
+
   return 0;
 }
index d760ac936ea1785457d0962111539ec992c1793d..5855486ff6eb6c4b553f2afc3af36447ecc369bc 100644 (file)
@@ -90,5 +90,20 @@ main ()
     free (p);
   }
 
+  /* Test regional indicators.  */
+  {
+    static const uint32_t input[6] =
+      { '.', 0x1F1E9, 0x1F1EA, 0x1F1EB, 0x1F1F7, '.' };
+    char *p = (char *) malloc (SIZEOF (input));
+    size_t i;
+
+    u32_wordbreaks (input, SIZEOF (input), p);
+    for (i = 0; i < 6; i++)
+      {
+        ASSERT (p[i] == (i == 1 || i == 3 || i == 5 ? 1 : 0));
+      }
+    free (p);
+  }
+
   return 0;
 }
index 684953db3912a8d6d32b148f6da6df150db360b1..2c36840ba8baf3fb31ede2af7ac38f18a40dfd4f 100644 (file)
@@ -81,5 +81,20 @@ main ()
     free (p);
   }
 
+  /* Test regional indicators.  */
+  {
+    static const uint8_t input[18] =
+      ".\360\237\207\251\360\237\207\252\360\237\207\253\360\237\207\267.";
+    char *p = (char *) malloc (SIZEOF (input));
+    size_t i;
+
+    u8_wordbreaks (input, SIZEOF (input), p);
+    for (i = 0; i < 18; i++)
+      {
+        ASSERT (p[i] == (i == 1 || i == 9 || i == 17 ? 1 : 0));
+      }
+    free (p);
+  }
+
   return 0;
 }