diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2022-01-08 11:51:39 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2022-01-08 11:51:39 +0100 |
commit | 2959e59fab3bab834368adefd90bd4b1b094366b (patch) | |
tree | 7d0ae09775ea950056193eaa2ca93844299d46f1 /tests/uniwbrk/test-u32-wordbreaks.c | |
parent | c78359d9542c86b972aac373efcf7bc7a8a560e5 (diff) | |
parent | be8efac78d067c138ad8dda03df4336e73f94887 (diff) |
Update upstream source from tag 'upstream/1.0'
Update to upstream version '1.0'
with Debian dir 4875e7dc9f7277205f0086a63ee21ccdb1d54593
Diffstat (limited to 'tests/uniwbrk/test-u32-wordbreaks.c')
-rw-r--r-- | tests/uniwbrk/test-u32-wordbreaks.c | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/tests/uniwbrk/test-u32-wordbreaks.c b/tests/uniwbrk/test-u32-wordbreaks.c index cbc3b451..cb2ffe16 100644 --- a/tests/uniwbrk/test-u32-wordbreaks.c +++ b/tests/uniwbrk/test-u32-wordbreaks.c @@ -1,5 +1,5 @@ /* Test of word breaks in UTF-32 strings. - Copyright (C) 2009-2018 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,7 +52,8 @@ main () || (i >= 23 && i <= 31) || (i >= 35 && i <= 39) || (i >= 42 && i <= 46) - || (i >= 48 && i <= 58) + || (i >= 48 && i <= 49) + || (i >= 51 && i <= 58) || i == 60 ? 1 : 0)); } @@ -83,12 +84,45 @@ main () || (i >= 25 && i <= 33) || (i >= 37 && i <= 41) || (i >= 44 && i <= 48) - || (i >= 50 && i <= 60) + || (i >= 50 && i <= 51) + || (i >= 53 && i <= 60) || i == 66 ? 1 : 0)); } 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] = + { '.', 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; } |