Branch data Line data Source code
1 : : /* Test of <wctype.h> substitute.
2 : : Copyright (C) 2007-2012 Free Software Foundation, Inc.
3 : :
4 : : This program is free software: you can redistribute it and/or modify
5 : : it under the terms of the GNU General Public License as published by
6 : : the Free Software Foundation; either version 3 of the License, or
7 : : (at your option) any later version.
8 : :
9 : : This program is distributed in the hope that it will be useful,
10 : : but WITHOUT ANY WARRANTY; without even the implied warranty of
11 : : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 : : GNU General Public License for more details.
13 : :
14 : : You should have received a copy of the GNU General Public License
15 : : along with this program. If not, see <http://www.gnu.org/licenses/>. */
16 : :
17 : : /* Written by Bruno Haible <bruno@clisp.org>, 2007. */
18 : :
19 : : #include <config.h>
20 : :
21 : : #include <wctype.h>
22 : :
23 : : #include "macros.h"
24 : :
25 : : /* Check that the type wint_t is defined. */
26 : : wint_t a = 'x';
27 : : /* Check that WEOF is defined. */
28 : : wint_t e = WEOF;
29 : :
30 : : /* Check that the type wctype_t is defined. */
31 : : wctype_t p;
32 : :
33 : : /* Check that the type wctrans_t is defined. */
34 : : wctrans_t q;
35 : :
36 : : int
37 : 1 : main (void)
38 : : {
39 : : /* Check that the isw* functions exist as functions or as macros. */
40 : 1 : (void) iswalnum (0);
41 : 1 : (void) iswalpha (0);
42 : 1 : (void) iswcntrl (0);
43 : 1 : (void) iswdigit (0);
44 : 1 : (void) iswgraph (0);
45 : 1 : (void) iswlower (0);
46 : 1 : (void) iswprint (0);
47 : 1 : (void) iswpunct (0);
48 : 1 : (void) iswspace (0);
49 : 1 : (void) iswupper (0);
50 : 1 : (void) iswxdigit (0);
51 : :
52 : : /* Check that the isw* functions map WEOF to 0. */
53 [ - + ]: 1 : ASSERT (!iswalnum (e));
54 [ - + ]: 1 : ASSERT (!iswalpha (e));
55 [ - + ]: 1 : ASSERT (!iswcntrl (e));
56 [ - + ]: 1 : ASSERT (!iswdigit (e));
57 [ - + ]: 1 : ASSERT (!iswgraph (e));
58 [ - + ]: 1 : ASSERT (!iswlower (e));
59 [ - + ]: 1 : ASSERT (!iswprint (e));
60 [ - + ]: 1 : ASSERT (!iswpunct (e));
61 [ - + ]: 1 : ASSERT (!iswspace (e));
62 [ - + ]: 1 : ASSERT (!iswupper (e));
63 [ - + ]: 1 : ASSERT (!iswxdigit (e));
64 : :
65 : : /* Check that the tow* functions exist as functions or as macros. */
66 : 1 : (void) towlower (0);
67 : 1 : (void) towupper (0);
68 : :
69 : : /* Check that the tow* functions map WEOF to WEOF. */
70 [ - + ]: 1 : ASSERT (towlower (e) == e);
71 [ - + ]: 1 : ASSERT (towupper (e) == e);
72 : :
73 : 1 : return 0;
74 : : }
|