diff options
author | Bruno Haible <bruno@clisp.org> | 2021-12-29 12:15:37 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2021-12-29 12:15:37 +0100 |
commit | cf1af53c980a5683c379cc7352f75d72e5dbe0f4 (patch) | |
tree | c8516284b30ed0673a15d29961d96050df732fbc /tests/uniwbrk | |
parent | e8541384813cc73504a7b75be425a70e4c2bd7ad (diff) | |
download | gnulib-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.c | 17 | ||||
-rw-r--r-- | tests/uniwbrk/test-u32-wordbreaks.c | 17 | ||||
-rw-r--r-- | tests/uniwbrk/test-u8-wordbreaks.c | 16 |
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] = |