OSDN Git Service

fix license notice
[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  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
10  */
11
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <stdarg.h>
15 #include <ctype.h>
16 #include "../testsuite.h"
17
18
19 int main( int argc, char **argv)
20 {
21         int i, c;
22
23
24     init_testsuite("Testing functions defined in ctype.h\n");
25
26         /* isalnum() */
27         {
28                 int buffer[]={ '1', '4', 'a', 'z', 'A', 'Z', '5', -1};
29                 for(i=0; buffer[i]!=-1; i++) {
30                         c = buffer[i];
31                         TEST( isalnum(c)!=0);
32                 }
33         }
34         {
35                 int buffer[]={  2, 128, 254, '\n', -1};
36                 for(i=0; buffer[i]!=-1; i++) {
37                         c = buffer[i];
38                         TEST( isalnum(c)==0);
39                 }
40         }
41
42
43
44         /* isalpha() */
45         {
46                 int buffer[]={ 'a', 'z', 'A', 'Z', -1};
47                 for(i=0; buffer[i]!=-1; i++) {
48                         c = buffer[i];
49                         TEST( isalpha(c)!=0);
50                 }
51         }
52         {
53                 int buffer[]={  2, 63, 128, 254, '\n', -1};
54                 for(i=0; buffer[i]!=-1; i++) {
55                         c = buffer[i];
56                         TEST( isalpha(c)==0);
57                 }
58         }
59
60
61
62         /* isascii() */
63         {
64                 int buffer[]={ 'a', 'z', 'A', 'Z', '\n', -1};
65                 for(i=0; buffer[i]!=-1; i++) {
66                         c = buffer[i];
67                         TEST( isascii(c)!=0);
68                 }
69         }
70         {
71                 int buffer[]={  128, 254, -1};
72                 for(i=0; buffer[i]!=-1; i++) {
73                         c = buffer[i];
74                         TEST( isascii(c)==0);
75                 }
76         }
77
78
79         /* iscntrl() */
80         {
81                 int buffer[]={ 0x7F, 6, '\t', '\n', 0x7F, -1};
82                 for(i=0; buffer[i]!=-1; i++) {
83                         c = buffer[i];
84                         TEST( iscntrl(c)!=0);
85                 }
86         }
87         {
88                 int buffer[]={  63, 128, 254, -1};
89                 for(i=0; buffer[i]!=-1; i++) {
90                         c = buffer[i];
91                         TEST( iscntrl(c)==0);
92                 }
93         }
94
95
96         /* isdigit() */
97         {
98                 int buffer[]={ '1', '5', '7', '9', -1};
99                 for(i=0; buffer[i]!=-1; i++) {
100                         c = buffer[i];
101                         TEST( isdigit(c)!=0);
102                 }
103         }
104         {
105                 int buffer[]={  2, 'a', 'z', 'A', 'Z', 63, 128, 254, '\n', -1};
106                 for(i=0; buffer[i]!=-1; i++) {
107                         c = buffer[i];
108                         TEST( isdigit(c)==0);
109                 }
110         }
111
112
113
114         /* isgraph() */
115         {
116                 int buffer[]={ ')', '~', '9', -1};
117                 for(i=0; buffer[i]!=-1; i++) {
118                         c = buffer[i];
119                         TEST( isgraph(c)!=0);
120                 }
121         }
122         {
123                 int buffer[]={ 9, ' ', '\t', '\n', 200, 0x7F, -1};
124                 for(i=0; buffer[i]!=-1; i++) {
125                         c = buffer[i];
126                         TEST( isgraph(c)==0);
127                 }
128         }
129
130
131         /* islower() */
132         {
133                 int buffer[]={ 'a', 'g', 'z', -1};
134                 for(i=0; buffer[i]!=-1; i++) {
135                         c = buffer[i];
136                         TEST( islower(c)!=0);
137                 }
138         }
139         {
140                 int buffer[]={ 9, 'A', 'Z', 128, 254, ' ', '\t', '\n', 0x7F, -1};
141                 for(i=0; buffer[i]!=-1; i++) {
142                         c = buffer[i];
143                         TEST( islower(c)==0);
144                 }
145         }
146
147
148         /* isprint() */
149         {
150                 int buffer[]={ ' ', ')', '~', '9', -1};
151                 for(i=0; buffer[i]!=-1; i++) {
152                         c = buffer[i];
153                         TEST( isprint(c)!=0);
154                 }
155         }
156         {
157                 int buffer[]={ '\b', '\t', '\n', 9, 128, 254, 200, 0x7F, -1};
158                 for(i=0; buffer[i]!=-1; i++) {
159                         c = buffer[i];
160                         TEST( isprint(c)==0);
161                 }
162         }
163
164
165         /* ispunct() */
166         {
167                 int buffer[]={ '.', '#', '@', ';', -1};
168                 for(i=0; buffer[i]!=-1; i++) {
169                         c = buffer[i];
170                         TEST( ispunct(c)!=0);
171                 }
172         }
173         {
174                 int buffer[]={  2, 'a', 'Z', '1', 128, 254, '\n', -1};
175                 for(i=0; buffer[i]!=-1; i++) {
176                         c = buffer[i];
177                         TEST( ispunct(c)==0);
178                 }
179         }
180
181
182         /* isspace() */
183         {
184                 int buffer[]={ ' ', '\t', '\r', '\v', '\n', -1};
185                 for(i=0; buffer[i]!=-1; i++) {
186                         c = buffer[i];
187                         TEST( isspace(c)!=0);
188                 }
189         }
190         {
191                 int buffer[]={  2, 'a', 'Z', '1', 128, 254, -1};
192                 for(i=0; buffer[i]!=-1; i++) {
193                         c = buffer[i];
194                         TEST( isspace(c)==0);
195                 }
196         }
197
198
199         /* isupper() */
200         {
201                 int buffer[]={ 'A', 'G', 'Z', -1};
202                 for(i=0; buffer[i]!=-1; i++) {
203                         c = buffer[i];
204                         TEST( isupper(c)!=0);
205                 }
206         }
207         {
208                 int buffer[]={  2, 'a', 'z', '1', 128, 254, -1};
209                 for(i=0; buffer[i]!=-1; i++) {
210                         c = buffer[i];
211                         TEST( isupper(c)==0);
212                 }
213         }
214
215
216
217         /* isxdigit() */
218         {
219                 int buffer[]={ 'f', 'A', '1', '8', -1};
220                 for(i=0; buffer[i]!=-1; i++) {
221                         c = buffer[i];
222                         TEST( isxdigit(c)!=0);
223                 }
224         }
225         {
226                 int buffer[]={  2, 'g', 'G', 'x', '\n', -1};
227                 for(i=0; buffer[i]!=-1; i++) {
228                         c = buffer[i];
229                         TEST( isxdigit(c)==0);
230                 }
231         }
232
233
234         /* tolower() */
235         c='A';
236         TEST_NUMERIC( tolower(c), 'a');
237         c='a';
238         TEST_NUMERIC( tolower(c), 'a');
239         c='#';
240         TEST_NUMERIC( tolower(c), c);
241
242         /* toupper() */
243         c='a';
244         TEST_NUMERIC( toupper(c), 'A');
245         c='A';
246         TEST_NUMERIC( toupper(c), 'A');
247         c='#';
248         TEST_NUMERIC( toupper(c), c);
249
250         exit(0);
251 }