util.h - libgrapheme - unicode string library
(HTM) git clone git://git.suckless.org/libgrapheme
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
util.h (1612B)
---
1 /* See LICENSE file for copyright and license details. */
2 #ifndef UTIL_H
3 #define UTIL_H
4
5 #include "../gen/types.h"
6 #include "../grapheme.h"
7
8 #undef MIN
9 #define MIN(x, y) ((x) < (y) ? (x) : (y))
10 #undef LEN
11 #define LEN(x) (sizeof(x) / sizeof(*(x)))
12
13 struct unit_test_next_break {
14 const char *description;
15
16 struct {
17 const uint_least32_t *src;
18 size_t srclen;
19 } input;
20
21 struct {
22 size_t ret;
23 } output;
24 };
25
26 struct unit_test_next_break_utf8 {
27 const char *description;
28
29 struct {
30 const char *src;
31 size_t srclen;
32 } input;
33
34 struct {
35 size_t ret;
36 } output;
37 };
38
39 int run_break_tests(size_t (*next_break)(const uint_least32_t *, size_t),
40 const struct break_test *test, size_t testlen,
41 const char *);
42 int run_unit_tests(int (*unit_test_callback)(const void *, size_t, const char *,
43 const char *),
44 const void *, size_t, const char *, const char *);
45
46 int unit_test_callback_next_break(const struct unit_test_next_break *, size_t,
47 size_t (*next_break)(const uint_least32_t *,
48 size_t),
49 const char *, const char *);
50 int unit_test_callback_next_break_utf8(const struct unit_test_next_break_utf8 *,
51 size_t,
52 size_t (*next_break_utf8)(const char *,
53 size_t),
54 const char *, const char *);
55
56 #endif /* UTIL_H */