root/maint/gnulib/tests/unictype/test-joiningtype_of.c

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

DEFINITIONS

This source file includes following definitions.
  1. main

   1 /* Test the Unicode character Arabic joining type functions.
   2    Copyright (C) 2011 Free Software Foundation, Inc.
   3    Written by Bruno Haible <bruno@clisp.org>, 2011.
   4 
   5    This program is free software: you can redistribute it and/or modify it
   6    under the terms of the GNU Lesser General Public License as published
   7    by the Free Software Foundation; either version 3 of the License, or
   8    (at your option) any later version.
   9 
  10    This program is distributed in the hope that it will be useful,
  11    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13    Lesser General Public License for more details.
  14 
  15    You should have received a copy of the GNU Lesser General Public License
  16    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  17 
  18 #include <config.h>
  19 
  20 /* Specification.  */
  21 #include "unictype.h"
  22 
  23 #include <string.h>
  24 
  25 #include "macros.h"
  26 
  27 typedef struct { ucs4_t ch; int value; } pair_t;
  28 
  29 static const pair_t mapping[] =
  30   {
  31 #include "test-joiningtype_of.h"
  32   };
  33 
  34 int
  35 main ()
     /* [previous][next][first][last][top][bottom][index][help] */
  36 {
  37   unsigned int c;
  38   size_t i;
  39 
  40   c = 0;
  41   for (i = 0; i < SIZEOF (mapping); i++)
  42     {
  43       for (; c < mapping[i].ch; c++)
  44         ASSERT (uc_joining_type (c) == UC_JOINING_TYPE_U
  45                 || uc_joining_type (c) == UC_JOINING_TYPE_T);
  46       ASSERT (uc_joining_type (c) == mapping[i].value);
  47       c++;
  48     }
  49   for (; c < 0x110000; c++)
  50     ASSERT (uc_joining_type (c) == UC_JOINING_TYPE_U
  51             || uc_joining_type (c) == UC_JOINING_TYPE_T);
  52 
  53   /* Test distinction between U and T.  */
  54   ASSERT (uc_joining_type (0x060C) == UC_JOINING_TYPE_U);
  55   ASSERT (uc_joining_type (0x060D) == UC_JOINING_TYPE_U);
  56   ASSERT (uc_joining_type (0x060E) == UC_JOINING_TYPE_U);
  57   ASSERT (uc_joining_type (0x060F) == UC_JOINING_TYPE_U);
  58   ASSERT (uc_joining_type (0x0610) == UC_JOINING_TYPE_T);
  59   ASSERT (uc_joining_type (0x0611) == UC_JOINING_TYPE_T);
  60   ASSERT (uc_joining_type (0x0612) == UC_JOINING_TYPE_T);
  61   ASSERT (uc_joining_type (0x0613) == UC_JOINING_TYPE_T);
  62   ASSERT (uc_joining_type (0x0614) == UC_JOINING_TYPE_T);
  63 
  64   return 0;
  65 }

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