Annotation of embedaddon/php/ext/intl/tests/normalizer_normalize.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: normalize()
! 3: --SKIPIF--
! 4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: /*
! 9: * Try normalization and test normalization
! 10: * with Procedural and Object methods.
! 11: */
! 12:
! 13: function ut_main()
! 14: {
! 15: $res_str = '';
! 16:
! 17: $forms = array(
! 18: Normalizer::FORM_C,
! 19: Normalizer::FORM_D,
! 20: Normalizer::FORM_KC,
! 21: Normalizer::FORM_KD,
! 22: Normalizer::NONE,
! 23: );
! 24:
! 25: $forms_str = array (
! 26: Normalizer::FORM_C => 'UNORM_FORM_C',
! 27: Normalizer::FORM_D => 'UNORM_FORM_D',
! 28: Normalizer::FORM_KC => 'UNORM_FORM_KC',
! 29: Normalizer::FORM_KD => 'UNORM_FORM_KD',
! 30: Normalizer::NONE => 'UNORM_NONE',
! 31: );
! 32:
! 33: /* just make sure all the form constants are defined as in the api spec */
! 34: if ( Normalizer::FORM_C != Normalizer::NFC ||
! 35: Normalizer::FORM_D != Normalizer::NFD ||
! 36: Normalizer::FORM_KC != Normalizer::NFKC ||
! 37: Normalizer::FORM_KD != Normalizer::NFKD ||
! 38: Normalizer::NONE == Normalizer::FORM_C ) {
! 39:
! 40: $res_str .= "Invalid normalization form declarations!\n";
! 41: }
! 42:
! 43: $char_a_diaeresis = "\xC3\xA4"; // 'LATIN SMALL LETTER A WITH DIAERESIS' (U+00E4)
! 44: $char_a_ring = "\xC3\xA5"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5)
! 45: $char_o_diaeresis = "\xC3\xB6"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6)
! 46:
! 47: $char_angstrom_sign = "\xE2\x84\xAB"; // 'ANGSTROM SIGN' (U+212B)
! 48: $char_A_ring = "\xC3\x85"; // 'LATIN CAPITAL LETTER A WITH RING ABOVE' (U+00C5)
! 49:
! 50: $char_ohm_sign = "\xE2\x84\xA6"; // 'OHM SIGN' (U+2126)
! 51: $char_omega = "\xCE\xA9"; // 'GREEK CAPITAL LETTER OMEGA' (U+03A9)
! 52:
! 53: $char_combining_ring_above = "\xCC\x8A"; // 'COMBINING RING ABOVE' (U+030A)
! 54:
! 55: $char_fi_ligature = "\xEF\xAC\x81"; // 'LATIN SMALL LIGATURE FI' (U+FB01)
! 56:
! 57: $char_long_s_dot = "\xE1\xBA\x9B"; // 'LATIN SMALL LETTER LONG S WITH DOT ABOVE' (U+1E9B)
! 58:
! 59: $strs = array(
! 60: 'ABC',
! 61: $char_a_diaeresis . '||' . $char_a_ring . '||' . $char_o_diaeresis,
! 62: $char_angstrom_sign . '||' . $char_A_ring . '||' . 'A' . $char_combining_ring_above,
! 63: $char_ohm_sign . '||' . $char_omega,
! 64: $char_fi_ligature,
! 65: $char_long_s_dot,
! 66: );
! 67:
! 68: foreach( $forms as $form )
! 69: {
! 70: foreach( $strs as $str )
! 71: {
! 72: $str_norm = ut_norm_normalize( $str, $form );
! 73: $error_code = intl_get_error_code();
! 74: $error_message = intl_get_error_message();
! 75:
! 76: $str_hex = urlencode($str);
! 77: $str_norm_hex = urlencode($str_norm);
! 78: $res_str .= "'$str_hex' normalized to form '{$forms_str[$form]}' is '$str_norm_hex'"
! 79: . "\terror info: '$error_message' ($error_code)\n"
! 80: . "";
! 81:
! 82: $is_norm = ut_norm_is_normalized( $str, $form );
! 83: $error_code = intl_get_error_code();
! 84: $error_message = intl_get_error_message();
! 85:
! 86: $res_str .= " is in form '{$forms_str[$form]}'? = " . ($is_norm ? "yes" : "no")
! 87: . "\terror info: '$error_message' ($error_code)\n"
! 88: . "";
! 89: }
! 90: }
! 91:
! 92: return $res_str;
! 93: }
! 94:
! 95: include_once( 'ut_common.inc' );
! 96: ut_run();
! 97:
! 98: ?>
! 99: --EXPECT--
! 100: 'ABC' normalized to form 'UNORM_FORM_C' is 'ABC' error info: 'U_ZERO_ERROR' (0)
! 101: is in form 'UNORM_FORM_C'? = yes error info: 'U_ZERO_ERROR' (0)
! 102: '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' normalized to form 'UNORM_FORM_C' is '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' error info: 'U_ZERO_ERROR' (0)
! 103: is in form 'UNORM_FORM_C'? = yes error info: 'U_ZERO_ERROR' (0)
! 104: '%E2%84%AB%7C%7C%C3%85%7C%7CA%CC%8A' normalized to form 'UNORM_FORM_C' is '%C3%85%7C%7C%C3%85%7C%7C%C3%85' error info: 'U_ZERO_ERROR' (0)
! 105: is in form 'UNORM_FORM_C'? = no error info: 'U_ZERO_ERROR' (0)
! 106: '%E2%84%A6%7C%7C%CE%A9' normalized to form 'UNORM_FORM_C' is '%CE%A9%7C%7C%CE%A9' error info: 'U_ZERO_ERROR' (0)
! 107: is in form 'UNORM_FORM_C'? = no error info: 'U_ZERO_ERROR' (0)
! 108: '%EF%AC%81' normalized to form 'UNORM_FORM_C' is '%EF%AC%81' error info: 'U_ZERO_ERROR' (0)
! 109: is in form 'UNORM_FORM_C'? = yes error info: 'U_ZERO_ERROR' (0)
! 110: '%E1%BA%9B' normalized to form 'UNORM_FORM_C' is '%E1%BA%9B' error info: 'U_ZERO_ERROR' (0)
! 111: is in form 'UNORM_FORM_C'? = yes error info: 'U_ZERO_ERROR' (0)
! 112: 'ABC' normalized to form 'UNORM_FORM_D' is 'ABC' error info: 'U_ZERO_ERROR' (0)
! 113: is in form 'UNORM_FORM_D'? = yes error info: 'U_ZERO_ERROR' (0)
! 114: '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' normalized to form 'UNORM_FORM_D' is 'a%CC%88%7C%7Ca%CC%8A%7C%7Co%CC%88' error info: 'U_ZERO_ERROR' (0)
! 115: is in form 'UNORM_FORM_D'? = no error info: 'U_ZERO_ERROR' (0)
! 116: '%E2%84%AB%7C%7C%C3%85%7C%7CA%CC%8A' normalized to form 'UNORM_FORM_D' is 'A%CC%8A%7C%7CA%CC%8A%7C%7CA%CC%8A' error info: 'U_ZERO_ERROR' (0)
! 117: is in form 'UNORM_FORM_D'? = no error info: 'U_ZERO_ERROR' (0)
! 118: '%E2%84%A6%7C%7C%CE%A9' normalized to form 'UNORM_FORM_D' is '%CE%A9%7C%7C%CE%A9' error info: 'U_ZERO_ERROR' (0)
! 119: is in form 'UNORM_FORM_D'? = no error info: 'U_ZERO_ERROR' (0)
! 120: '%EF%AC%81' normalized to form 'UNORM_FORM_D' is '%EF%AC%81' error info: 'U_ZERO_ERROR' (0)
! 121: is in form 'UNORM_FORM_D'? = yes error info: 'U_ZERO_ERROR' (0)
! 122: '%E1%BA%9B' normalized to form 'UNORM_FORM_D' is '%C5%BF%CC%87' error info: 'U_ZERO_ERROR' (0)
! 123: is in form 'UNORM_FORM_D'? = no error info: 'U_ZERO_ERROR' (0)
! 124: 'ABC' normalized to form 'UNORM_FORM_KC' is 'ABC' error info: 'U_ZERO_ERROR' (0)
! 125: is in form 'UNORM_FORM_KC'? = yes error info: 'U_ZERO_ERROR' (0)
! 126: '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' normalized to form 'UNORM_FORM_KC' is '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' error info: 'U_ZERO_ERROR' (0)
! 127: is in form 'UNORM_FORM_KC'? = yes error info: 'U_ZERO_ERROR' (0)
! 128: '%E2%84%AB%7C%7C%C3%85%7C%7CA%CC%8A' normalized to form 'UNORM_FORM_KC' is '%C3%85%7C%7C%C3%85%7C%7C%C3%85' error info: 'U_ZERO_ERROR' (0)
! 129: is in form 'UNORM_FORM_KC'? = no error info: 'U_ZERO_ERROR' (0)
! 130: '%E2%84%A6%7C%7C%CE%A9' normalized to form 'UNORM_FORM_KC' is '%CE%A9%7C%7C%CE%A9' error info: 'U_ZERO_ERROR' (0)
! 131: is in form 'UNORM_FORM_KC'? = no error info: 'U_ZERO_ERROR' (0)
! 132: '%EF%AC%81' normalized to form 'UNORM_FORM_KC' is 'fi' error info: 'U_ZERO_ERROR' (0)
! 133: is in form 'UNORM_FORM_KC'? = no error info: 'U_ZERO_ERROR' (0)
! 134: '%E1%BA%9B' normalized to form 'UNORM_FORM_KC' is '%E1%B9%A1' error info: 'U_ZERO_ERROR' (0)
! 135: is in form 'UNORM_FORM_KC'? = no error info: 'U_ZERO_ERROR' (0)
! 136: 'ABC' normalized to form 'UNORM_FORM_KD' is 'ABC' error info: 'U_ZERO_ERROR' (0)
! 137: is in form 'UNORM_FORM_KD'? = yes error info: 'U_ZERO_ERROR' (0)
! 138: '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' normalized to form 'UNORM_FORM_KD' is 'a%CC%88%7C%7Ca%CC%8A%7C%7Co%CC%88' error info: 'U_ZERO_ERROR' (0)
! 139: is in form 'UNORM_FORM_KD'? = no error info: 'U_ZERO_ERROR' (0)
! 140: '%E2%84%AB%7C%7C%C3%85%7C%7CA%CC%8A' normalized to form 'UNORM_FORM_KD' is 'A%CC%8A%7C%7CA%CC%8A%7C%7CA%CC%8A' error info: 'U_ZERO_ERROR' (0)
! 141: is in form 'UNORM_FORM_KD'? = no error info: 'U_ZERO_ERROR' (0)
! 142: '%E2%84%A6%7C%7C%CE%A9' normalized to form 'UNORM_FORM_KD' is '%CE%A9%7C%7C%CE%A9' error info: 'U_ZERO_ERROR' (0)
! 143: is in form 'UNORM_FORM_KD'? = no error info: 'U_ZERO_ERROR' (0)
! 144: '%EF%AC%81' normalized to form 'UNORM_FORM_KD' is 'fi' error info: 'U_ZERO_ERROR' (0)
! 145: is in form 'UNORM_FORM_KD'? = no error info: 'U_ZERO_ERROR' (0)
! 146: '%E1%BA%9B' normalized to form 'UNORM_FORM_KD' is 's%CC%87' error info: 'U_ZERO_ERROR' (0)
! 147: is in form 'UNORM_FORM_KD'? = no error info: 'U_ZERO_ERROR' (0)
! 148: 'ABC' normalized to form 'UNORM_NONE' is 'ABC' error info: 'U_ZERO_ERROR' (0)
! 149: is in form 'UNORM_NONE'? = no error info: 'normalizer_normalize: illegal normalization form: U_ILLEGAL_ARGUMENT_ERROR' (1)
! 150: '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' normalized to form 'UNORM_NONE' is '%C3%A4%7C%7C%C3%A5%7C%7C%C3%B6' error info: 'U_ZERO_ERROR' (0)
! 151: is in form 'UNORM_NONE'? = no error info: 'normalizer_normalize: illegal normalization form: U_ILLEGAL_ARGUMENT_ERROR' (1)
! 152: '%E2%84%AB%7C%7C%C3%85%7C%7CA%CC%8A' normalized to form 'UNORM_NONE' is '%E2%84%AB%7C%7C%C3%85%7C%7CA%CC%8A' error info: 'U_ZERO_ERROR' (0)
! 153: is in form 'UNORM_NONE'? = no error info: 'normalizer_normalize: illegal normalization form: U_ILLEGAL_ARGUMENT_ERROR' (1)
! 154: '%E2%84%A6%7C%7C%CE%A9' normalized to form 'UNORM_NONE' is '%E2%84%A6%7C%7C%CE%A9' error info: 'U_ZERO_ERROR' (0)
! 155: is in form 'UNORM_NONE'? = no error info: 'normalizer_normalize: illegal normalization form: U_ILLEGAL_ARGUMENT_ERROR' (1)
! 156: '%EF%AC%81' normalized to form 'UNORM_NONE' is '%EF%AC%81' error info: 'U_ZERO_ERROR' (0)
! 157: is in form 'UNORM_NONE'? = no error info: 'normalizer_normalize: illegal normalization form: U_ILLEGAL_ARGUMENT_ERROR' (1)
! 158: '%E1%BA%9B' normalized to form 'UNORM_NONE' is '%E1%BA%9B' error info: 'U_ZERO_ERROR' (0)
! 159: is in form 'UNORM_NONE'? = no error info: 'normalizer_normalize: illegal normalization form: U_ILLEGAL_ARGUMENT_ERROR' (1)
! 160:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>