OSDN Git Service

dd9b72aaf2b771e6066d8998eba6c8fa6c6604fc
[uclinux-h8/uclibc-ng.git] / test / ctype / ctype.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * Test application for functions defined in ctype.h
4  *
5  * Copyright (C) 2000 by Lineo, inc. and Erik Andersen
6  * Copyright (C) 2000,2001 by Erik Andersen <andersen@uclibc.org>
7  * Written by Erik Andersen <andersen@uclibc.org>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Library General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or (at your
12  * option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
17  * for more details.
18  *
19  * You should have received a copy of the GNU Library General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22  *
23  */
24
25 #include <stdio.h>
26 #include <stdlib.h>
27 #include <stdarg.h>
28 #include <ctype.h>
29 #include "../testsuite.h"
30
31
32 int main( int argc, char **argv)
33 {
34         int i, c;
35
36
37     init_testsuite("Testing functions defined in ctype.h\n");
38
39         /* isalnum() */
40         {
41                 int buffer[]={ '1', '4', 'a', 'z', 'A', 'Z', '5', -1};
42                 for(i=0; buffer[i]!=-1; i++) {
43                         c = buffer[i];
44                         TEST( isalnum(c)!=0);
45                 }
46         }
47         {
48                 int buffer[]={  2, 128, 254, '\n', -1};
49                 for(i=0; buffer[i]!=-1; i++) {
50                         c = buffer[i];
51                         TEST( isalnum(c)==0);
52                 }
53         }
54
55
56
57         /* isalpha() */
58         {
59                 int buffer[]={ 'a', 'z', 'A', 'Z', -1};
60                 for(i=0; buffer[i]!=-1; i++) {
61                         c = buffer[i];
62                         TEST( isalpha(c)!=0);
63                 }
64         }
65         {
66                 int buffer[]={  2, 63, 128, 254, '\n', -1};
67                 for(i=0; buffer[i]!=-1; i++) {
68                         c = buffer[i];
69                         TEST( isalpha(c)==0);
70                 }
71         }
72
73
74
75         /* isascii() */
76         {
77                 int buffer[]={ 'a', 'z', 'A', 'Z', '\n', -1};
78                 for(i=0; buffer[i]!=-1; i++) {
79                         c = buffer[i];
80                         TEST( isascii(c)!=0);
81                 }
82         }
83         {
84                 int buffer[]={  128, 254, -1};
85                 for(i=0; buffer[i]!=-1; i++) {
86                         c = buffer[i];
87                         TEST( isascii(c)==0);
88                 }
89         }
90
91
92         /* iscntrl() */
93         {
94                 int buffer[]={ 0x7F, 6, '\t', '\n', 0x7F, -1};
95                 for(i=0; buffer[i]!=-1; i++) {
96                         c = buffer[i];
97                         TEST( iscntrl(c)!=0);
98                 }
99         }
100         {
101                 int buffer[]={  63, 128, 254, -1};
102                 for(i=0; buffer[i]!=-1; i++) {
103                         c = buffer[i];
104                         TEST( iscntrl(c)==0);
105                 }
106         }
107
108
109         /* isdigit() */
110         {
111                 int buffer[]={ '1', '5', '7', '9', -1};
112                 for(i=0; buffer[i]!=-1; i++) {
113                         c = buffer[i];
114                         TEST( isdigit(c)!=0);
115                 }
116         }
117         {
118                 int buffer[]={  2, 'a', 'z', 'A', 'Z', 63, 128, 254, '\n', -1};
119                 for(i=0; buffer[i]!=-1; i++) {
120                         c = buffer[i];
121                         TEST( isdigit(c)==0);
122                 }
123         }
124
125
126
127         /* isgraph() */
128         {
129                 int buffer[]={ ')', '~', '9', -1};
130                 for(i=0; buffer[i]!=-1; i++) {
131                         c = buffer[i];
132                         TEST( isgraph(c)!=0);
133                 }
134         }
135         {
136                 int buffer[]={ 9, ' ', '\t', '\n', 200, 0x7F, -1};
137                 for(i=0; buffer[i]!=-1; i++) {
138                         c = buffer[i];
139                         TEST( isgraph(c)==0);
140                 }
141         }
142
143
144         /* islower() */
145         {
146                 int buffer[]={ 'a', 'g', 'z', -1};
147                 for(i=0; buffer[i]!=-1; i++) {
148                         c = buffer[i];
149                         TEST( islower(c)!=0);
150                 }
151         }
152         {
153                 int buffer[]={ 9, 'A', 'Z', 128, 254, ' ', '\t', '\n', 0x7F, -1};
154                 for(i=0; buffer[i]!=-1; i++) {
155                         c = buffer[i];
156                         TEST( islower(c)==0);
157                 }
158         }
159
160
161         /* isprint() */
162         {
163                 int buffer[]={ ' ', ')', '~', '9', -1};
164                 for(i=0; buffer[i]!=-1; i++) {
165                         c = buffer[i];
166                         TEST( isprint(c)!=0);
167                 }
168         }
169         {
170                 int buffer[]={ '\b', '\t', '\n', 9, 128, 254, 200, 0x7F, -1};
171                 for(i=0; buffer[i]!=-1; i++) {
172                         c = buffer[i];
173                         TEST( isprint(c)==0);
174                 }
175         }
176
177
178         /* ispunct() */
179         {
180                 int buffer[]={ '.', '#', '@', ';', -1};
181                 for(i=0; buffer[i]!=-1; i++) {
182                         c = buffer[i];
183                         TEST( ispunct(c)!=0);
184                 }
185         }
186         {
187                 int buffer[]={  2, 'a', 'Z', '1', 128, 254, '\n', -1};
188                 for(i=0; buffer[i]!=-1; i++) {
189                         c = buffer[i];
190                         TEST( ispunct(c)==0);
191                 }
192         }
193
194
195         /* isspace() */
196         {
197                 int buffer[]={ ' ', '\t', '\r', '\v', '\n', -1};
198                 for(i=0; buffer[i]!=-1; i++) {
199                         c = buffer[i];
200                         TEST( isspace(c)!=0);
201                 }
202         }
203         {
204                 int buffer[]={  2, 'a', 'Z', '1', 128, 254, -1};
205                 for(i=0; buffer[i]!=-1; i++) {
206                         c = buffer[i];
207                         TEST( isspace(c)==0);
208                 }
209         }
210
211
212         /* isupper() */
213         {
214                 int buffer[]={ 'A', 'G', 'Z', -1};
215                 for(i=0; buffer[i]!=-1; i++) {
216                         c = buffer[i];
217                         TEST( isupper(c)!=0);
218                 }
219         }
220         {
221                 int buffer[]={  2, 'a', 'z', '1', 128, 254, -1};
222                 for(i=0; buffer[i]!=-1; i++) {
223                         c = buffer[i];
224                         TEST( isupper(c)==0);
225                 }
226         }
227
228
229
230         /* isxdigit() */
231         {
232                 int buffer[]={ 'f', 'A', '1', '8', -1};
233                 for(i=0; buffer[i]!=-1; i++) {
234                         c = buffer[i];
235                         TEST( isxdigit(c)!=0);
236                 }
237         }
238         {
239                 int buffer[]={  2, 'g', 'G', 'x', '\n', -1};
240                 for(i=0; buffer[i]!=-1; i++) {
241                         c = buffer[i];
242                         TEST( isxdigit(c)==0);
243                 }
244         }
245
246
247         /* tolower() */
248         c='A';
249         TEST_NUMERIC( tolower(c), 'a');
250         c='a';
251         TEST_NUMERIC( tolower(c), 'a');
252         c='#';
253         TEST_NUMERIC( tolower(c), c);
254
255         /* toupper() */
256         c='a';
257         TEST_NUMERIC( toupper(c), 'A');
258         c='A';
259         TEST_NUMERIC( toupper(c), 'A');
260         c='#';
261         TEST_NUMERIC( toupper(c), c);
262
263         exit(0);
264 }