summaryrefslogtreecommitdiff
path: root/tests/uniwbrk
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2021-12-29 12:15:37 +0100
committerBruno Haible <bruno@clisp.org>2021-12-29 12:15:37 +0100
commitcf1af53c980a5683c379cc7352f75d72e5dbe0f4 (patch)
treec8516284b30ed0673a15d29961d96050df732fbc /tests/uniwbrk
parente8541384813cc73504a7b75be425a70e4c2bd7ad (diff)
downloadgnulib-cf1af53c980a5683c379cc7352f75d72e5dbe0f4.tar.gz
uniwbrk: Add unit tests of CR-LF sequences.
* tests/uniwbrk/test-u8-wordbreaks.c (main): Add test of a string with CR-LF. * tests/uniwbrk/test-u16-wordbreaks.c (main): Likewise. * tests/uniwbrk/test-u32-wordbreaks.c (main): Likewise.
Diffstat (limited to 'tests/uniwbrk')
-rw-r--r--tests/uniwbrk/test-u16-wordbreaks.c17
-rw-r--r--tests/uniwbrk/test-u32-wordbreaks.c17
-rw-r--r--tests/uniwbrk/test-u8-wordbreaks.c16
3 files changed, 50 insertions, 0 deletions
diff --git a/tests/uniwbrk/test-u16-wordbreaks.c b/tests/uniwbrk/test-u16-wordbreaks.c
index eb6b13c61a..734c8049be 100644
--- a/tests/uniwbrk/test-u16-wordbreaks.c
+++ b/tests/uniwbrk/test-u16-wordbreaks.c
@@ -90,6 +90,23 @@ main ()
free (p);
}
+ /* CR LF handling. */
+ {
+ static const uint16_t input[8] =
+ { 'a', '\n', 'b', '\r', 'c', '\r', '\n', 'd' };
+ char *p = (char *) malloc (SIZEOF (input));
+ size_t i;
+
+ u16_wordbreaks (input, SIZEOF (input), p);
+ for (i = 0; i < 8; i++)
+ {
+ ASSERT (p[i] == (i == 1 || i == 2 || i == 3 || i == 4 || i == 5
+ || i == 7 ? 1 :
+ 0));
+ }
+ free (p);
+ }
+
/* Test regional indicators. */
{
static const uint16_t input[10] =
diff --git a/tests/uniwbrk/test-u32-wordbreaks.c b/tests/uniwbrk/test-u32-wordbreaks.c
index 5855486ff6..7b106ac0cc 100644
--- a/tests/uniwbrk/test-u32-wordbreaks.c
+++ b/tests/uniwbrk/test-u32-wordbreaks.c
@@ -90,6 +90,23 @@ main ()
free (p);
}
+ /* CR LF handling. */
+ {
+ static const uint32_t input[8] =
+ { 'a', '\n', 'b', '\r', 'c', '\r', '\n', 'd' };
+ char *p = (char *) malloc (SIZEOF (input));
+ size_t i;
+
+ u32_wordbreaks (input, SIZEOF (input), p);
+ for (i = 0; i < 8; i++)
+ {
+ ASSERT (p[i] == (i == 1 || i == 2 || i == 3 || i == 4 || i == 5
+ || i == 7 ? 1 :
+ 0));
+ }
+ free (p);
+ }
+
/* Test regional indicators. */
{
static const uint32_t input[6] =
diff --git a/tests/uniwbrk/test-u8-wordbreaks.c b/tests/uniwbrk/test-u8-wordbreaks.c
index 2c36840ba8..5cf9d17168 100644
--- a/tests/uniwbrk/test-u8-wordbreaks.c
+++ b/tests/uniwbrk/test-u8-wordbreaks.c
@@ -81,6 +81,22 @@ main ()
free (p);
}
+ /* CR LF handling. */
+ {
+ static const uint8_t input[8] = "a\nb\rc\r\nd";
+ char *p = (char *) malloc (SIZEOF (input));
+ size_t i;
+
+ u8_wordbreaks (input, SIZEOF (input), p);
+ for (i = 0; i < 8; i++)
+ {
+ ASSERT (p[i] == (i == 1 || i == 2 || i == 3 || i == 4 || i == 5
+ || i == 7 ? 1 :
+ 0));
+ }
+ free (p);
+ }
+
/* Test regional indicators. */
{
static const uint8_t input[18] =