LCOV - GNU Libidn - lib/gltests/test-locale.c

LCOV - code coverage report
Current view: top level - lib/gltests - test-locale.c (source / functions) Hit Total Coverage
Test: GNU Libidn Lines: 27 27 100.0 %
Date: 2020年07月22日 17:53:13 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

 Line data Source code
 1  : /* Test of <locale.h> substitute.
 2  : Copyright (C) 2007, 2009-2020 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 <https://www.gnu.org/licenses/>. */
 16  : 
 17  : /* Written by Bruno Haible <bruno@clisp.org>, 2007. */
 18  : 
 19  : #include <config.h>
 20  : 
 21  : #include <locale.h>
 22  : 
 23  : #include "verify.h"
 24  : 
 25  : int a[] =
 26  : {
 27  : LC_ALL,
 28  : LC_COLLATE,
 29  : LC_CTYPE,
 30  : LC_MESSAGES,
 31  : LC_MONETARY,
 32  : LC_NUMERIC,
 33  : LC_TIME
 34  : };
 35  : 
 36  : /* Check that the 'struct lconv' type is defined. */
 37  : struct lconv l;
 38  : int ls;
 39  : 
 40  : /* Check that NULL can be passed through varargs as a pointer type,
 41  : per POSIX 2008. */
 42  : verify (sizeof NULL == sizeof (void *));
 43  : 
 44  : int
 45  1 : main ()
 46  : {
 47  : #if HAVE_WORKING_NEWLOCALE
 48  : /* Check that the locale_t type and the LC_GLOBAL_LOCALE macro are defined. */
 49  1 : locale_t b = LC_GLOBAL_LOCALE;
 50  : (void) b;
 51  : #endif
 52  : 
 53  : /* Check that 'struct lconv' has the ISO C and POSIX specified members. */
 54  1 : ls += sizeof (*l.decimal_point);
 55  1 : ls += sizeof (*l.thousands_sep);
 56  1 : ls += sizeof (*l.grouping);
 57  1 : ls += sizeof (*l.mon_decimal_point);
 58  1 : ls += sizeof (*l.mon_thousands_sep);
 59  1 : ls += sizeof (*l.mon_grouping);
 60  1 : ls += sizeof (*l.positive_sign);
 61  1 : ls += sizeof (*l.negative_sign);
 62  1 : ls += sizeof (*l.currency_symbol);
 63  1 : ls += sizeof (l.frac_digits);
 64  1 : ls += sizeof (l.p_cs_precedes);
 65  1 : ls += sizeof (l.p_sign_posn);
 66  1 : ls += sizeof (l.p_sep_by_space);
 67  1 : ls += sizeof (l.n_cs_precedes);
 68  1 : ls += sizeof (l.n_sign_posn);
 69  1 : ls += sizeof (l.n_sep_by_space);
 70  1 : ls += sizeof (*l.int_curr_symbol);
 71  1 : ls += sizeof (l.int_frac_digits);
 72  1 : ls += sizeof (l.int_p_cs_precedes);
 73  1 : ls += sizeof (l.int_p_sign_posn);
 74  1 : ls += sizeof (l.int_p_sep_by_space);
 75  1 : ls += sizeof (l.int_n_cs_precedes);
 76  1 : ls += sizeof (l.int_n_sign_posn);
 77  1 : ls += sizeof (l.int_n_sep_by_space);
 78  : 
 79  1 : return 0;
 80  : }

Generated by: LCOV version 1.13

AltStyle によって変換されたページ (->オリジナル) /