@@ -7,35 +7,22 @@ static void issue128(void) /* #128 */
77 utf8proc_uint8_t input [] = {0x72 , 0xcc , 0x87 , 0xcc , 0xa3 , 0x00 }; /* "r\u0307\u0323" */
88 utf8proc_uint8_t nfc [] = {0xe1 , 0xb9 , 0x9b , 0xcc , 0x87 , 0x00 }; /* "\u1E5B\u0307" */
99 utf8proc_uint8_t nfd [] = {0x72 , 0xcc , 0xa3 , 0xcc , 0x87 , 0x00 }; /* "r\u0323\u0307" */
10- utf8proc_uint8_t * nfc_out , * nfd_out ;
11- nfc_out = utf8proc_NFC (input );
12- printf ("NFC \"%s\" -> \"%s\" vs. \"%s\"\n" , (char * )input , (char * )nfc_out , (char * )nfc );
13- check (strlen ((char * ) nfc_out ) == 5 , "incorrect nfc length" );
14- check (!memcmp (nfc , nfc_out , 6 ), "incorrect nfc data" );
15- nfd_out = utf8proc_NFD (input );
16- printf ("NFD \"%s\" -> \"%s\" vs. \"%s\"\n" , (char * )input , (char * )nfd_out , (char * )nfd );
17- check (strlen ((char * ) nfd_out ) == 5 , "incorrect nfd length" );
18- check (!memcmp (nfd , nfd_out , 6 ), "incorrect nfd data" );
19- free (nfd_out ); free (nfc_out );
10+
11+ check_compare ("NFC" , input , nfc , utf8proc_NFC (input ), 1 );
12+ check_compare ("NFD" , input , nfd , utf8proc_NFD (input ), 1 );
2013}
2114
22- static void issue102 (void ) /* #128 */
15+ static void issue102 (void ) /* #102 */
2316{
2417 utf8proc_uint8_t input [] = {0x58 , 0xe2 , 0x81 , 0xa5 , 0x45 , 0xcc , 0x80 , 0xc2 , 0xad , 0xe1 , 0xb4 , 0xac , 0x00 }; /* "X\u2065E\u0300\u00ad\u1d2c" */
2518 utf8proc_uint8_t stripna [] = {0x78 , 0xc3 , 0xa8 , 0x61 , 0x00 }; /* "x\u00e8a" */
2619 utf8proc_uint8_t correct [] = {0x78 , 0xe2 , 0x81 , 0xa5 , 0xc3 , 0xa8 , 0x61 , 0x00 }; /* "x\u2065\u00e8a" */
2720 utf8proc_uint8_t * output ;
21+
2822 utf8proc_map (input , 0 , & output , UTF8PROC_NULLTERM | UTF8PROC_STABLE |
2923 UTF8PROC_COMPOSE | UTF8PROC_COMPAT | UTF8PROC_CASEFOLD | UTF8PROC_IGNORE | UTF8PROC_STRIPNA );
30- printf ("NFKC_Casefold \"%s\" -> \"%s\" vs. \"%s\"\n" , (char * )input , (char * )output , (char * )stripna );
31- check (strlen ((char * ) output ) == 4 , "incorrect NFKC_Casefold+stripna length" );
32- check (!memcmp (stripna , output , 5 ), "incorrect NFKC_Casefold+stripna data" );
33- free (output );
34- output = utf8proc_NFKC_Casefold (input );
35- printf ("NFKC_Casefold \"%s\" -> \"%s\" vs. \"%s\"\n" , (char * )input , (char * )output , (char * )correct );
36- check (strlen ((char * ) output ) == 7 , "incorrect NFKC_Casefold length" );
37- check (!memcmp (correct , output , 8 ), "incorrect NFKC_Casefold data" );
38- free (output );
24+ check_compare ("NFKC_Casefold+stripna" , input , stripna , output , 1 );
25+ check_compare ("NFKC_Casefold" , input , correct , utf8proc_NFKC_Casefold (input ), 1 );
3926}
4027
4128int main (void )
0 commit comments