root/maint/gnulib/tests/unicase/test-is-titlecase.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. test_ascii

   1 /* Test of test whether a Unicode string is entirely title case.
   2    Copyright (C) 2009-2021 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>, 2009.  */
  18 
  19 static void
  20 test_ascii (int (*my_is) (const UNIT *, size_t, const char *, bool *))
     /* [previous][next][first][last][top][bottom][index][help] */
  21 {
  22   /* Test cases from Unicode 5.0, chapter 3.  */
  23   {
  24     static const UNIT input[] = { 'A' };
  25     bool result;
  26 
  27     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  28     ASSERT (result == true);
  29   }
  30   {
  31     static const UNIT input[] = { 'J', 'O', 'H', 'N', ' ', 'S', 'M', 'I', 'T', 'H' };
  32     bool result;
  33 
  34     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  35     ASSERT (result == false);
  36   }
  37   {
  38     static const UNIT input[] = { 'J', 'o', 'h', 'n', ' ', 'S', 'm', 'i', 't', 'h' };
  39     bool result;
  40 
  41     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  42     ASSERT (result == true);
  43   }
  44   {
  45     static const UNIT input[] = { 'j', 'o', 'h', 'n', ' ', 's', 'm', 'i', 't', 'h' };
  46     bool result;
  47 
  48     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  49     ASSERT (result == false);
  50   }
  51   {
  52     static const UNIT input[] = { 'A', '2' };
  53     bool result;
  54 
  55     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  56     ASSERT (result == true);
  57   }
  58   {
  59     static const UNIT input[] = { '3' };
  60     bool result;
  61 
  62     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  63     ASSERT (result == true);
  64   }
  65 
  66   /* Test cases from Unicode 5.1.0.  */
  67   {
  68     static const UNIT input[] = { 'H', 'H' };
  69     bool result;
  70 
  71     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  72     ASSERT (result == false);
  73   }
  74   {
  75     static const UNIT input[] = { 'h', 'h' };
  76     bool result;
  77 
  78     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  79     ASSERT (result == false);
  80   }
  81   {
  82     static const UNIT input[] = { 'H', 'h' };
  83     bool result;
  84 
  85     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  86     ASSERT (result == true);
  87   }
  88   {
  89     static const UNIT input[] = { 'h', 'H' };
  90     bool result;
  91 
  92     ASSERT (my_is (input, SIZEOF (input), NULL, &result) == 0);
  93     ASSERT (result == false);
  94   }
  95 }

/* [previous][next][first][last][top][bottom][index][help] */