Mercurial > hg > octave-lojdl > gnulib-hg
annotate tests/test-btowc.c @ 16465:c0803728f645
New module 'modfl-ieee'.
* modules/modfl-ieee: New file.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 26 Feb 2012 17:55:31 +0100 |
parents | 8250f2777afc |
children | e542fd46ad6f |
rev | line source |
---|---|
10896 | 1 /* Test of conversion of unibyte character to wide character. |
16201
8250f2777afc
maint: update all copyright year number ranges
Jim Meyering <meyering@redhat.com>
parents:
14079
diff
changeset
|
2 Copyright (C) 2008-2012 Free Software Foundation, Inc. |
10896 | 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>, 2008. */ | |
18 | |
19 #include <config.h> | |
20 | |
21 #include <wchar.h> | |
22 | |
12489 | 23 #include "signature.h" |
24 SIGNATURE_CHECK (btowc, wint_t, (int)); | |
25 | |
10896 | 26 #include <locale.h> |
27 #include <stdio.h> | |
28 | |
12496
a48d3d749ca5
Refactor common macros used in tests.
Bruno Haible <bruno@clisp.org>
parents:
12489
diff
changeset
|
29 #include "macros.h" |
10896 | 30 |
31 int | |
32 main (int argc, char *argv[]) | |
33 { | |
34 int c; | |
35 | |
36 /* configure should already have checked that the locale is supported. */ | |
37 if (setlocale (LC_ALL, "") == NULL) | |
38 return 1; | |
39 | |
40 ASSERT (btowc (EOF) == WEOF); | |
41 | |
42 if (argc > 1) | |
43 switch (argv[1][0]) | |
44 { | |
45 case '1': | |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
46 /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
47 for (c = 0; c < 0x80; c++) |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
48 ASSERT (btowc (c) == c); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
49 for (c = 0xA0; c < 0x100; c++) |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
50 ASSERT (btowc (c) != WEOF); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
51 return 0; |
10896 | 52 |
53 case '2': | |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
54 /* Locale encoding is UTF-8. */ |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
55 for (c = 0; c < 0x80; c++) |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
56 ASSERT (btowc (c) == c); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
57 for (c = 0x80; c < 0x100; c++) |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
58 ASSERT (btowc (c) == WEOF); |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
10896
diff
changeset
|
59 return 0; |
10896 | 60 } |
61 | |
62 return 1; | |
63 } |