Mercurial > gnulib
annotate tests/unilbrk/test-ulc-possible-linebreaks.c @ 40057:b06060465f09
maint: Run 'make update-copyright'
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 01 Jan 2019 00:25:11 +0100 |
parents | 10eb9086bea0 |
children |
rev | line source |
---|---|
10045
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
1 /* Test of line breaking of strings. |
40057
b06060465f09
maint: Run 'make update-copyright'
Paul Eggert <eggert@cs.ucla.edu>
parents:
19484
diff
changeset
|
2 Copyright (C) 2008-2019 Free Software Foundation, Inc. |
10045
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
3 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
4 This program is free software: you can redistribute it and/or modify |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
5 it under the terms of the GNU General Public License as published by |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
6 the Free Software Foundation; either version 3 of the License, or |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
7 (at your option) any later version. |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
8 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
9 This program is distributed in the hope that it will be useful, |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
10 but WITHOUT ANY WARRANTY; without even the implied warranty of |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
12 GNU General Public License for more details. |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
13 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
14 You should have received a copy of the GNU General Public License |
19190 | 15 along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
10045
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
16 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
17 /* Written by Bruno Haible <bruno@clisp.org>, 2008. */ |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
18 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
19 #include <config.h> |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
20 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
21 #include "unilbrk.h" |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
22 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
23 #include <stdlib.h> |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
24 |
12496
a48d3d749ca5
Refactor common macros used in tests.
Bruno Haible <bruno@clisp.org>
parents:
12421
diff
changeset
|
25 #include "macros.h" |
10045
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
26 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
27 int |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
28 main () |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
29 { |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
30 /* Test case n = 0. */ |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
31 ulc_possible_linebreaks (NULL, 0, "GB18030", NULL); |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
32 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
33 #if HAVE_ICONV |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
34 { |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
35 static const char input[36] = |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
36 /* "Grüß Gott. x=(-b±sqrt(b²-4ac))/(2a)" */ |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
37 "Gr\374\337 Gott. x=(-b\261sqrt(b\262-4ac))/(2a)\n"; |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
38 char *p = (char *) malloc (SIZEOF (input)); |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
39 size_t i; |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
40 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
41 ulc_possible_linebreaks (input, SIZEOF (input), "ISO-8859-1", p); |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
42 for (i = 0; i < 36; i++) |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
43 { |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10063
diff
changeset
|
44 ASSERT (p[i] == (i == 35 ? UC_BREAK_MANDATORY : |
14152 | 45 i == 5 || i == 11 || i == 15 || i == 16 |
46 || i == 31 ? UC_BREAK_POSSIBLE : | |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10063
diff
changeset
|
47 UC_BREAK_PROHIBITED)); |
10045
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
48 } |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
49 free (p); |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
50 } |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
51 #endif |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
52 |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
53 return 0; |
7b4e1ce17ed3
Tests for module unilbrk/ulc-possible-linebreaks
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
54 } |