diff options
Diffstat (limited to 'localedata')
-rw-r--r-- | localedata/ChangeLog | 3 | ||||
-rw-r--r-- | localedata/tst-wctype.c | 104 | ||||
-rw-r--r-- | localedata/tst-wctype.input | 4 |
3 files changed, 111 insertions, 0 deletions
diff --git a/localedata/ChangeLog b/localedata/ChangeLog index e0c842ab40..67662424f2 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,5 +1,8 @@ 2000-07-24 Ulrich Drepper <drepper@redhat.com> + * tst-wctype.input: Add more input text. + * tst-wctype.c: Test more classes. + * Makefile: Add rules to build, run, and distribute tst-langinfo. * tst-langinfo.c: New file. * tst-langinfo.sh: New file. diff --git a/localedata/tst-wctype.c b/localedata/tst-wctype.c index 6c59a50427..f91946c35b 100644 --- a/localedata/tst-wctype.c +++ b/localedata/tst-wctype.c @@ -1,3 +1,23 @@ +/* Test program for iswctype() function in ja_JP locale. + Copyright (C) 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + #include <error.h> #include <locale.h> #include <stdio.h> @@ -36,5 +56,89 @@ main (void) } } + wct = wctype ("jkata"); + if (wct == 0) + error (EXIT_FAILURE, 0, "jkata: no such character class"); + + if (fgetws (buf, sizeof (buf) / sizeof (buf[0]), stdin) != NULL) + { + int n; + + wprintf (L"buf[] = \"%ls\"\n", buf); + + result = 0; + + for (n = 0; buf[n] != L'\0'; ++n) + { + wprintf (L"jkata(U%04lx = %lc) = %d\n", (long) buf[n], buf[n], + iswctype (buf[n], wct)); + result |= ((buf[n] < 0xff && iswctype (buf[n], wct)) + || (buf[n] > 0xff && !iswctype (buf[n], wct))); + } + } + + wct = wctype ("jdigit"); + if (wct == 0) + error (EXIT_FAILURE, 0, "jdigit: no such character class"); + + if (fgetws (buf, sizeof (buf) / sizeof (buf[0]), stdin) != NULL) + { + int n; + + wprintf (L"buf[] = \"%ls\"\n", buf); + + result = 0; + + for (n = 0; buf[n] != L'\0'; ++n) + { + wprintf (L"jdigit(U%04lx = %lc) = %d\n", (long) buf[n], buf[n], + iswctype (buf[n], wct)); + result |= ((buf[n] < 0xff && iswctype (buf[n], wct)) + || (buf[n] > 0xff && !iswctype (buf[n], wct))); + } + } + + wct = wctype ("jspace"); + if (wct == 0) + error (EXIT_FAILURE, 0, "jspace: no such character class"); + + if (fgetws (buf, sizeof (buf) / sizeof (buf[0]), stdin) != NULL) + { + int n; + + wprintf (L"buf[] = \"%ls\"\n", buf); + + result = 0; + + for (n = 0; buf[n] != L'\0'; ++n) + { + wprintf (L"jspace(U%04lx = %lc) = %d\n", (long) buf[n], buf[n], + iswctype (buf[n], wct)); + result |= ((buf[n] < 0xff && iswctype (buf[n], wct)) + || (buf[n] > 0xff && !iswctype (buf[n], wct))); + } + } + + wct = wctype ("jkanji"); + if (wct == 0) + error (EXIT_FAILURE, 0, "jkanji: no such character class"); + + if (fgetws (buf, sizeof (buf) / sizeof (buf[0]), stdin) != NULL) + { + int n; + + wprintf (L"buf[] = \"%ls\"\n", buf); + + result = 0; + + for (n = 0; buf[n] != L'\0'; ++n) + { + wprintf (L"jkanji(U%04lx = %lc) = %d\n", (long) buf[n], buf[n], + iswctype (buf[n], wct)); + result |= ((buf[n] < 0xff && iswctype (buf[n], wct)) + || (buf[n] > 0xff && !iswctype (buf[n], wct))); + } + } + return result; } diff --git a/localedata/tst-wctype.input b/localedata/tst-wctype.input index a7b4928c39..9c0f23ae37 100644 --- a/localedata/tst-wctype.input +++ b/localedata/tst-wctype.input @@ -1 +1,5 @@ ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずabcdefghjklmnoprrstuvwxyz +ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズabcdefghjklmnoprrstuvwxyz +01234567890123456789 + a +亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻abcdefghjklmnoprrstuvwxyz |