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

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

DEFINITIONS

This source file includes following definitions.
  1. main

   1 /* Test the Unicode character type functions.
   2    Copyright (C) 2007-2009 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 #include <config.h>
  18 
  19 #include "unictype.h"
  20 
  21 #include <string.h>
  22 
  23 #include "macros.h"
  24 
  25 int
  26 main ()
     /* [previous][next][first][last][top][bottom][index][help] */
  27 {
  28   ASSERT (strcmp (uc_block ('x')->name, "Basic Latin") == 0);
  29   ASSERT (strcmp (uc_block (0x20AC)->name, "Currency Symbols") == 0);
  30 
  31   {
  32     unsigned int c;
  33 
  34     for (c = 0; c < 0x110000; c++)
  35       {
  36         const uc_block_t *block = uc_block (c);
  37         ASSERT (block == NULL || uc_is_block (c, block));
  38       }
  39   }
  40 
  41   {
  42     const uc_block_t *blocks;
  43     size_t nblocks;
  44     size_t i;
  45 
  46     uc_all_blocks (&blocks, &nblocks);
  47 
  48     for (i = 0; i < nblocks; i++)
  49       {
  50         if (strcmp (blocks[i].name, "Hebrew") == 0)
  51           {
  52             ASSERT (uc_block (0x05DE) == &blocks[i]);
  53             ASSERT (uc_is_block (0x05DE, &blocks[i]));
  54           }
  55       }
  56 
  57     for (i = 0; i < nblocks; i++)
  58       {
  59         unsigned int c;
  60 
  61         for (c = blocks[i].start; c <= blocks[i].end; c++)
  62           ASSERT (uc_block (c) == &blocks[i]);
  63       }
  64   }
  65 
  66   return 0;
  67 }

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