This source file includes following definitions.
- test_nonascii
 
- main
 
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 #include <config.h>
  20 
  21 #include "uninorm.h"
  22 
  23 #include "macros.h"
  24 
  25 #include "test-u16-normcmp.h"
  26 
  27 static void
  28 test_nonascii (int (*my_normcmp) (const uint16_t *, size_t, const uint16_t *, size_t, uninorm_t, int *))
     
  29 {
  30   
  31   {
  32     static const uint16_t input1[] = { 'H', 0x00F6, 'h', 'l', 'e' };
  33     static const uint16_t input2[] = { 'H', 'o', 0x0308, 'h', 'l', 'e' };
  34     static const uint16_t input3[] = { 'H', 0x00F6, 'h', 'l', 'e', 'n' };
  35     static const uint16_t input4[] = { 'H', 'o', 0x0308, 'h', 'l', 'e', 'n' };
  36     static const uint16_t input5[] = { 'H', 'u', 'r', 'z' };
  37     int cmp;
  38 
  39     ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0);
  40     ASSERT (cmp == 0);
  41 
  42     ASSERT (my_normcmp (input2, SIZEOF (input2), input1, SIZEOF (input1), UNINORM_NFD, &cmp) == 0);
  43     ASSERT (cmp == 0);
  44 
  45     ASSERT (my_normcmp (input3, SIZEOF (input3), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0);
  46     ASSERT (cmp == 0);
  47 
  48     ASSERT (my_normcmp (input4, SIZEOF (input4), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0);
  49     ASSERT (cmp == 0);
  50 
  51     ASSERT (my_normcmp (input2, SIZEOF (input2), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0);
  52     ASSERT (cmp == -1);
  53 
  54     ASSERT (my_normcmp (input1, SIZEOF (input1), input4, SIZEOF (input4), UNINORM_NFD, &cmp) == 0);
  55     ASSERT (cmp == -1);
  56 
  57     ASSERT (my_normcmp (input1, SIZEOF (input1), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0);
  58     ASSERT (cmp == -1);
  59 
  60     ASSERT (my_normcmp (input2, SIZEOF (input2), input5, SIZEOF (input5), UNINORM_NFD, &cmp) == 0);
  61     ASSERT (cmp == -1);
  62   }
  63   { 
  64     static const uint16_t input1[] = { 0x00C4 };
  65     static const uint16_t input2[] = { 0x0041, 0x0308 };
  66     int cmp;
  67 
  68     ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0);
  69     ASSERT (cmp == 0);
  70   }
  71   { 
  72     static const uint16_t input1[] = { 0x01DE };
  73     static const uint16_t input2[] = { 0x0041, 0x0308, 0x0304 };
  74     int cmp;
  75 
  76     ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0);
  77     ASSERT (cmp == 0);
  78   }
  79   { 
  80     static const uint16_t input1[] = { 0x1FC1 };
  81     static const uint16_t input2[] = { 0x00A8, 0x0342 };
  82     int cmp;
  83 
  84     ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0);
  85     ASSERT (cmp == 0);
  86   }
  87   { 
  88     static const uint16_t input1[] = { 0xAE00 };
  89     static const uint16_t input2[] = { 0xADF8, 0x11AF };
  90     static const uint16_t input3[] = { 0x1100, 0x1173, 0x11AF };
  91     int cmp;
  92 
  93     ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0);
  94     ASSERT (cmp == 0);
  95 
  96     ASSERT (my_normcmp (input1, SIZEOF (input1), input3, SIZEOF (input3), UNINORM_NFD, &cmp) == 0);
  97     ASSERT (cmp == 0);
  98   }
  99   { 
 100     static const uint16_t input1[] = { 0xADF8 };
 101     static const uint16_t input2[] = { 0x1100, 0x1173 };
 102     int cmp;
 103 
 104     ASSERT (my_normcmp (input1, SIZEOF (input1), input2, SIZEOF (input2), UNINORM_NFD, &cmp) == 0);
 105     ASSERT (cmp == 0);
 106   }
 107 }
 108 
 109 int
 110 main ()
     
 111 {
 112   test_ascii (u16_normcmp, UNINORM_NFD);
 113   test_nonascii (u16_normcmp);
 114 
 115   return 0;
 116 }