Annotation of embedaddon/php/ext/intl/tests/ut_common.inc, revision 1.1.1.1

1.1       misho       1: <?php
                      2: /*
                      3:  * Run unit test in OO- and in procedural mode.
                      4:  * Then compare the outputs.
                      5:  * It they're equal then show one of them.
                      6:  * Otherwise indicate an error.
                      7:  */
                      8: function ut_run()
                      9: {
                     10:     // Run unit test in OO mode.
                     11:     $GLOBALS['oo-mode'] = true;
                     12:     $oo_result = ut_main();
                     13: 
                     14:     // Run unit test in procedural mode.
                     15:     $GLOBALS['oo-mode'] = false;
                     16:     $proc_result = ut_main();
                     17: 
                     18:     // Show error if the APIs produce different results.
                     19:     if( $proc_result !== $oo_result )
                     20:     {
                     21:           echo "ERROR: OO- and procedural APIs produce different results!\n";
                     22:           echo "OO API output:\n";
                     23:           echo str_repeat( '=', 78 ) . "\n";
                     24:           echo $oo_result;
                     25:           echo str_repeat( '=', 78 ) . "\n";
                     26:           echo "procedural API output:\n";
                     27:           echo str_repeat( '=', 78 ) . "\n";
                     28:           echo $proc_result;
                     29:           echo str_repeat( '=', 78 ) . "\n";
                     30:           return;
                     31:     }
                     32: 
                     33:     // Else, if the results are equal, show one of them.
                     34:     echo $proc_result;
                     35: }
                     36: 
                     37: function dump( $val )
                     38: {
                     39:     return var_export( $val, true );
                     40: }
                     41: 
                     42: /*
                     43:  * Wrappers around Collator methods to run them in either OO- or procedural mode.
                     44:  */
                     45: 
                     46: function ut_coll_create( $locale )
                     47: {
                     48:     return $GLOBALS['oo-mode'] ? Collator::create( $locale ) : collator_create( $locale );
                     49: }
                     50: function ut_coll_compare( $coll, $str1, $str2 )
                     51: {
                     52:     return $GLOBALS['oo-mode'] ? $coll->compare( $str1, $str2 ) : collator_compare( $coll, $str1, $str2 );
                     53: }
                     54: function ut_coll_sort( $coll, &$arr, $sort_flag = Collator::SORT_REGULAR )
                     55: {
                     56:     return $GLOBALS['oo-mode'] ? $coll->sort( $arr, $sort_flag ) : collator_sort( $coll, $arr, $sort_flag );
                     57: }
                     58: function ut_coll_sort_with_sort_keys( $coll, &$arr )
                     59: {
                     60:     return $GLOBALS['oo-mode'] ? $coll->sortWithSortKeys( $arr ) : collator_sort_with_sort_keys( $coll, $arr );
                     61: }
                     62: function ut_coll_get_sort_key( $coll, $str )
                     63: {
                     64:     return $GLOBALS['oo-mode'] ? $coll->getSortKey( $str ) : collator_get_sort_key( $coll, $str );
                     65: }
                     66: function ut_coll_asort( $coll, &$arr, $sort_flag = Collator::SORT_REGULAR )
                     67: {
                     68:     return $GLOBALS['oo-mode'] ? $coll->asort( $arr, $sort_flag ) : collator_asort( $coll, $arr, $sort_flag );
                     69: }
                     70: function ut_coll_get_locale( $coll, $type )
                     71: {
                     72:     return $GLOBALS['oo-mode'] ? $coll->getLocale( $type ) : collator_get_locale( $coll, $type );
                     73: }
                     74: function ut_coll_get_display_name( $obj_loc, $disp_loc )
                     75: {
                     76:     return $GLOBALS['oo-mode'] ? Collator::getDisplayName( $obj_loc, $disp_loc ) : collator_get_display_name( $obj_loc, $disp_loc );
                     77: }
                     78: function ut_coll_get_available_locales()
                     79: {
                     80:     return $GLOBALS['oo-mode'] ? Collator::getAvailableLocales() : collator_get_available_locales();
                     81: }
                     82: function ut_coll_get_attribute( $coll, $attr )
                     83: {
                     84:     return $GLOBALS['oo-mode'] ? $coll->getAttribute( $attr ) : collator_get_attribute( $coll, $attr );
                     85: }
                     86: function ut_coll_get_strength( $coll )
                     87: {
                     88:     return $GLOBALS['oo-mode'] ? $coll->getStrength() : collator_get_strength( $coll );
                     89: }
                     90: function ut_coll_set_strength( $coll, $strength )
                     91: {
                     92:     return $GLOBALS['oo-mode'] ? $coll->setStrength( $strength ) : collator_set_strength( $coll, $strength );
                     93: }
                     94: function ut_coll_set_attribute( $coll, $attr, $val )
                     95: {
                     96:     return $GLOBALS['oo-mode'] ? $coll->setAttribute( $attr, $val ) : collator_set_attribute( $coll, $attr, $val );
                     97: }
                     98: function ut_coll_get_variable_top( $coll )
                     99: {
                    100:     return $GLOBALS['oo-mode'] ? $coll->getVariableTop() : collator_get_variable_top( $coll );
                    101: }
                    102: function ut_coll_set_variable_top( $coll, $var_top )
                    103: {
                    104:     return $GLOBALS['oo-mode'] ? $coll->setVariableTop( $var_top ) : collator_set_variable_top( $coll, $var_top );
                    105: }
                    106: function ut_coll_restore_variable_top( $coll, $var_top )
                    107: {
                    108:     return $GLOBALS['oo-mode'] ? $coll->restoreVariableTop( $var_top ) : collator_restore_variable_top( $coll, $var_top );
                    109: }
                    110: function ut_coll_get_error_code( $coll )
                    111: {
                    112:     return $GLOBALS['oo-mode'] ? $coll->getErrorCode() : collator_get_error_code( $coll );
                    113: }
                    114: function ut_coll_get_error_message( $coll )
                    115: {
                    116:     return $GLOBALS['oo-mode'] ? $coll->getErrorMessage() : collator_get_error_message( $coll );
                    117: }
                    118: function ut_coll_get_default()
                    119: {
                    120:     return $GLOBALS['oo-mode'] ? Collator::getDefault() : collator_get_default();
                    121: }
                    122: function ut_coll_set_default( $coll )
                    123: {
                    124:     return $GLOBALS['oo-mode'] ? Collator::setDefault( $coll ) : collator_set_default( $coll );
                    125: }
                    126: 
                    127: /*
                    128:  * Wrappers around NumberFormatter methods to run them in either OO- or procedural mode.
                    129:  */
                    130: 
                    131: // FIXME: incomplete list
                    132: 
                    133: function ut_nfmt_create( $locale, $style, $pattern = null )
                    134: {
                    135:     return $GLOBALS['oo-mode'] ? new NumberFormatter( $locale, $style, $pattern ) : numfmt_create( $locale, $style, $pattern );
                    136: }
                    137: function ut_nfmt_format( $fmt, $number, $type = null )
                    138: {
                    139:     return $GLOBALS['oo-mode'] ? $fmt->format( $number, $type ) : numfmt_format( $fmt, $number, $type );
                    140: }
                    141: function ut_nfmt_parse( $fmt, $string, $type = NumberFormatter::TYPE_DOUBLE, &$position = null )
                    142: {
                    143:     if(is_null($position)) {
                    144:     return $GLOBALS['oo-mode'] ? $fmt->parse( $string, $type ) : numfmt_parse( $fmt, $string, $type );
                    145:     } else {
                    146:     return $GLOBALS['oo-mode'] ? $fmt->parse( $string, $type, $position ) : numfmt_parse( $fmt, $string, $type, $position );
                    147:     }
                    148: }
                    149: function ut_nfmt_format_currency( $fmt, $number, $currency )
                    150: {
                    151:     return $GLOBALS['oo-mode'] ? $fmt->formatCurrency( $number, $currency ) : numfmt_format_currency( $fmt, $number, $currency );
                    152: }
                    153: function ut_nfmt_parse_currency( $fmt, $string, &$currency, &$position = null )
                    154: {
                    155:     if(is_null($position)) {
                    156:     return $GLOBALS['oo-mode'] ? $fmt->parseCurrency( $string, $currency ) : numfmt_parse_currency( $fmt, $string, $currency );
                    157:     } else {
                    158:     return $GLOBALS['oo-mode'] ? $fmt->parseCurrency( $string, $currency, $position ) : numfmt_parse_currency( $fmt, $string, $currency, $position );
                    159:    }
                    160: }
                    161: function ut_nfmt_set_attribute( $fmt, $attribute, $value )
                    162: {
                    163:     return $GLOBALS['oo-mode'] ? $fmt->setAttribute( $attribute, $value ) : numfmt_set_attribute( $fmt, $attribute, $value );
                    164: }
                    165: function ut_nfmt_set_text_attribute( $fmt, $attribute, $value )
                    166: {
                    167:     return $GLOBALS['oo-mode'] ? $fmt->setTextAttribute( $attribute, $value ) : numfmt_set_text_attribute( $fmt, $attribute, $value );
                    168: }
                    169: function ut_nfmt_set_symbol( $fmt, $attribute, $value )
                    170: {
                    171:     return $GLOBALS['oo-mode'] ? $fmt->setSymbol( $attribute, $value ) : numfmt_set_symbol( $fmt, $attribute, $value );
                    172: }
                    173: function ut_nfmt_set_pattern( $fmt, $pattern )
                    174: {
                    175:     return $GLOBALS['oo-mode'] ? $fmt->setPattern( $pattern ) : numfmt_set_pattern( $fmt, $pattern );
                    176: }
                    177: function ut_nfmt_get_attribute( $fmt, $attribute )
                    178: {
                    179:     return $GLOBALS['oo-mode'] ? $fmt->getAttribute( $attribute ) : numfmt_get_attribute( $fmt, $attribute );
                    180: }
                    181: function ut_nfmt_get_text_attribute( $fmt, $attribute )
                    182: {
                    183:     return $GLOBALS['oo-mode'] ? $fmt->getTextAttribute( $attribute ) : numfmt_get_text_attribute( $fmt, $attribute );
                    184: }
                    185: function ut_nfmt_get_symbol( $fmt, $attribute )
                    186: {
                    187:     return $GLOBALS['oo-mode'] ? $fmt->getSymbol( $attribute ) : numfmt_get_symbol( $fmt, $attribute );
                    188: }
                    189: function ut_nfmt_get_pattern( $fmt )
                    190: {
                    191:     return $GLOBALS['oo-mode'] ? $fmt->getPattern() : numfmt_get_pattern( $fmt );
                    192: }
                    193: function ut_nfmt_get_locale( $fmt, $type = 0 )
                    194: {
                    195:     return $GLOBALS['oo-mode'] ? $fmt->getLocale( $type ) : numfmt_get_locale( $fmt, $type );
                    196: }
                    197: function ut_nfmt_get_error_code( $fmt )
                    198: {
                    199:     return $GLOBALS['oo-mode'] ? $fmt->getErrorCode() : numfmt_get_error_code( $fmt );
                    200: }
                    201: function ut_nfmt_get_error_message( $fmt )
                    202: {
                    203:     return $GLOBALS['oo-mode'] ? $fmt->getErrorMessage() : numfmt_get_error_message( $fmt );
                    204: }
                    205: 
                    206: function ut_norm_normalize( $str, $form )
                    207: {
                    208:     return $GLOBALS['oo-mode'] ? Normalizer::normalize( $str, $form ) : normalizer_normalize( $str, $form );
                    209: }
                    210: function ut_norm_is_normalized( $str, $form )
                    211: {
                    212:     return $GLOBALS['oo-mode'] ? Normalizer::isNormalized( $str, $form ) : normalizer_is_normalized( $str, $form );
                    213: }
                    214: 
                    215: /*
                    216:  * Wrappers around Collator methods to run them in either OO- or procedural mode.
                    217:  */
                    218: 
                    219: function ut_loc_get_default( )
                    220: {
                    221:     return $GLOBALS['oo-mode'] ? Locale::getDefault( ) : locale_get_default();
                    222: }
                    223: function ut_loc_set_default( $locale  )
                    224: {
                    225:        return $GLOBALS['oo-mode'] ? Locale::setDefault( $locale  ) : locale_set_default( $locale );
                    226: }
                    227: function ut_loc_get_primary_language( $locale )
                    228: {
                    229:     return $GLOBALS['oo-mode'] ? Locale::getPrimaryLanguage( $locale ) : locale_get_primary_language( $locale );
                    230: }
                    231: function ut_loc_get_script( $locale )
                    232: {
                    233:     return $GLOBALS['oo-mode'] ? Locale::getScript( $locale ) : locale_get_script( $locale );
                    234: }
                    235: function ut_loc_get_region( $locale )
                    236: {
                    237:     return $GLOBALS['oo-mode'] ? Locale::getRegion( $locale ) : locale_get_region( $locale );
                    238: }
                    239: function ut_loc_get_keywords( $locale )
                    240: {
                    241:     return $GLOBALS['oo-mode'] ? Locale::getKeywords( $locale ) : locale_get_keywords( $locale );
                    242: }
                    243: function ut_loc_get_display_name( $locale , $dispLocale )
                    244: {
                    245:     return $GLOBALS['oo-mode'] ? Locale::getDisplayName( $locale , $dispLocale ) : locale_get_display_name( $locale , $dispLocale );
                    246: }
                    247: function ut_loc_get_display_language( $locale , $dispLocale )
                    248: {
                    249:     return $GLOBALS['oo-mode'] ? Locale::getDisplayLanguage( $locale , $dispLocale ) : locale_get_display_language( $locale , $dispLocale );
                    250: }
                    251: function ut_loc_get_display_script( $locale , $dispLocale )
                    252: {
                    253:     return $GLOBALS['oo-mode'] ? Locale::getDisplayScript( $locale , $dispLocale ) : locale_get_display_script( $locale , $dispLocale );
                    254: }
                    255: function ut_loc_get_display_region( $locale, $dispLocale  )
                    256: {
                    257:     return $GLOBALS['oo-mode'] ? Locale::getDisplayRegion( $locale, $dispLocale  ) : locale_get_display_region( $locale, $dispLocale  );
                    258: }
                    259: function ut_loc_get_display_variant( $locale , $dispLocale )
                    260: {
                    261:     return $GLOBALS['oo-mode'] ? Locale::getDisplayVariant( $locale , $dispLocale ) : locale_get_display_variant( $locale, $dispLocale  );
                    262: }
                    263: function ut_loc_locale_compose( $loc_parts_arr )
                    264: {
                    265:     return $GLOBALS['oo-mode'] ? Locale::composeLocale( $loc_parts_arr ) : locale_compose( $loc_parts_arr );
                    266: }
                    267: function ut_loc_locale_parse( $locale )
                    268: {
                    269:     return $GLOBALS['oo-mode'] ? Locale::parseLocale( $locale ) : locale_parse($locale );
                    270: }
                    271: function ut_loc_locale_get_all_variants( $locale )
                    272: {
                    273:     return $GLOBALS['oo-mode'] ? Locale::getAllVariants( $locale ) : locale_get_all_variants( $locale );
                    274: }
                    275: function ut_loc_locale_filter_matches( $lang_tag,$loc_range  ,$isCanonical)
                    276: {
                    277:     return $GLOBALS['oo-mode'] ? Locale::filterMatches( $lang_tag,$loc_range ,$isCanonical) : locale_filter_matches( $lang_tag,$loc_range ,$isCanonical);
                    278: }
                    279: function ut_loc_canonicalize( $locale )
                    280: {
                    281:     return $GLOBALS['oo-mode'] ? Locale::canonicalize( $locale ) : locale_canonicalize( $locale );
                    282: }
                    283: function ut_loc_locale_lookup( $lang_tag_arr,$loc_range,$isCanonical,$default_loc)
                    284: {
                    285:     return $GLOBALS['oo-mode'] ? Locale::lookup( $lang_tag_arr,$loc_range,$isCanonical,$default_loc ) : locale_lookup( $lang_tag_arr,$loc_range,$isCanonical,$default_loc );
                    286: }
                    287: function ut_loc_accept_http($http) {
                    288:        return $GLOBALS['oo-mode'] ? Locale::acceptFromHttp($http):locale_accept_from_http($http);
                    289: }
                    290: /* MessageFormatter functions */
                    291: function ut_msgfmt_create( $locale, $pattern)
                    292: {
                    293:     return $GLOBALS['oo-mode'] ? MessageFormatter::create( $locale, $pattern ) : msgfmt_create( $locale, $pattern );
                    294: }
                    295: function ut_msgfmt_format( $fmt, $args )
                    296: {
                    297:     return $GLOBALS['oo-mode'] ? $fmt->format( $args ) : msgfmt_format( $fmt, $args);
                    298: }
                    299: function ut_msgfmt_parse( $fmt, $string)
                    300: {
                    301:     return $GLOBALS['oo-mode'] ? $fmt->parse( $string) : msgfmt_parse( $fmt, $string);
                    302: }
                    303: function ut_msgfmt_format_message( $locale, $pattern, $args )
                    304: {
                    305:     return $GLOBALS['oo-mode'] ? MessageFormatter::formatMessage( $locale, $pattern, $args ) : msgfmt_format_message( $locale, $pattern, $args );
                    306: }
                    307: function ut_msgfmt_parse_message( $locale, $pattern, $string )
                    308: {
                    309:     return $GLOBALS['oo-mode'] ? MessageFormatter::parseMessage( $locale, $pattern, $string ) : msgfmt_parse_message( $locale, $pattern, $string );
                    310: }
                    311: function ut_msgfmt_set_pattern( $fmt, $pattern )
                    312: {
                    313:     return $GLOBALS['oo-mode'] ? $fmt->setPattern( $pattern ) : msgfmt_set_pattern( $fmt, $pattern );
                    314: }
                    315: function ut_msgfmt_get_pattern( $fmt )
                    316: {
                    317:     return $GLOBALS['oo-mode'] ? $fmt->getPattern() : msgfmt_get_pattern( $fmt );
                    318: }
                    319: function ut_msgfmt_get_locale( $fmt )
                    320: {
                    321:     return $GLOBALS['oo-mode'] ? $fmt->getLocale( ) : msgfmt_get_locale( $fmt );
                    322: }
                    323: function ut_msgfmt_get_error_code( $fmt )
                    324: {
                    325:     return $GLOBALS['oo-mode'] ? $fmt->getErrorCode() : msgfmt_get_error_code( $fmt );
                    326: }
                    327: function ut_msgfmt_get_error_message( $fmt )
                    328: {
                    329:     return $GLOBALS['oo-mode'] ? $fmt->getErrorMessage() : msgfmt_get_error_message( $fmt );
                    330: }
                    331: /* IntlDateFormatter functions */
                    332: function ut_datefmt_create( $locale, $datetype, $timetype, $timezone = null, $calendar = null ,$pattern = null)
                    333: {
                    334:     return $GLOBALS['oo-mode'] ? datefmt_create( $locale, $datetype, $timetype, $timezone, $calendar ,$pattern ) : datefmt_create( $locale, $datetype, $timetype, $timezone, $calendar ,$pattern);
                    335: }
                    336: function ut_datefmt_get_datetype( $fmt )
                    337: {
                    338:     return $GLOBALS['oo-mode'] ? $fmt->getDateType( ) : datefmt_get_datetype( $fmt );
                    339: }
                    340: function ut_datefmt_get_timetype( $fmt )
                    341: {
                    342:     return $GLOBALS['oo-mode'] ? $fmt->getTimeType( ) : datefmt_get_timetype( $fmt );
                    343: }
                    344: function ut_datefmt_get_calendar( $fmt )
                    345: {
                    346:     return $GLOBALS['oo-mode'] ? $fmt->getCalendar( ) : datefmt_get_calendar( $fmt );
                    347: }
                    348: function ut_datefmt_set_calendar( $fmt ,$calendar )
                    349: {
                    350:     return $GLOBALS['oo-mode'] ? $fmt->setCalendar( $calendar ) : datefmt_set_calendar( $fmt , $calendar );
                    351: }
                    352: function ut_datefmt_get_timezone_id( $fmt )
                    353: {
                    354:     return $GLOBALS['oo-mode'] ? $fmt->getTimeZoneId( ) : datefmt_get_timezone_id( $fmt );
                    355: }
                    356: function ut_datefmt_set_timezone_id( $fmt ,$timezone_id )
                    357: {
                    358:     return $GLOBALS['oo-mode'] ? $fmt->setTimeZoneId( $timezone_id ) : datefmt_set_timezone_id( $fmt ,$timezone_id);
                    359: }
                    360: function ut_datefmt_get_pattern( $fmt )
                    361: {
                    362:     return $GLOBALS['oo-mode'] ? $fmt->getPattern() : datefmt_get_pattern( $fmt );
                    363: }
                    364: function ut_datefmt_set_pattern( $fmt , $pattern )
                    365: {
                    366:     return $GLOBALS['oo-mode'] ? $fmt->setPattern( $pattern ) : datefmt_set_pattern( $fmt ,  $pattern);
                    367: }
                    368: function ut_datefmt_get_locale( $fmt ,$type=ULOC_ACTUAL_LOCALE)
                    369: {
                    370:     return $GLOBALS['oo-mode'] ? $fmt->getLocale($type ) : datefmt_get_locale( $fmt ,$type);
                    371: }
                    372: function ut_datefmt_is_lenient( $fmt )
                    373: {
                    374:     return $GLOBALS['oo-mode'] ? $fmt->isLenient() : datefmt_is_lenient( $fmt );
                    375: }
                    376: function ut_datefmt_set_lenient( $fmt , $lenient )
                    377: {
                    378:     return $GLOBALS['oo-mode'] ? $fmt->setLenient(  $lenient ) : datefmt_set_lenient( $fmt ,  $lenient);
                    379: }
                    380: function ut_datefmt_format( $fmt , $value )
                    381: {
                    382:     return $GLOBALS['oo-mode'] ? $fmt->format(  $value ) : datefmt_format( $fmt ,  $value);
                    383: }
                    384: function ut_datefmt_parse( $fmt , $value , &$parse_pos=0 )
                    385: {
                    386:     return $GLOBALS['oo-mode'] ? $fmt->parse(  $value ,$parse_pos ) : datefmt_parse( $fmt ,  $value,$parse_pos);
                    387: }
                    388: function ut_datefmt_localtime( $fmt , $value , &$parse_pos=0 )
                    389: {
                    390:     return $GLOBALS['oo-mode'] ? $fmt->localtime(  $value , $parse_pos ) : datefmt_localtime( $fmt ,  $value , $parse_pos );
                    391: }
                    392: 
                    393: function ut_resourcebundle_create( $locale, $bundle, $fallback=true )
                    394: {
                    395:     return $GLOBALS['oo-mode'] ? new ResourceBundle($locale, $bundle, $fallback): resourcebundle_create($locale, $bundle, $fallback);
                    396: }
                    397: function ut_resourcebundle_count($bundle )
                    398: {
                    399:     return $GLOBALS['oo-mode'] ? $bundle->count():resourcebundle_count($bundle);
                    400: }
                    401: function ut_resourcebundle_locales($bundle )
                    402: {
                    403:     return $GLOBALS['oo-mode'] ? ResourceBundle::getLocales($bundle):resourcebundle_locales($bundle);
                    404: }
                    405: function ut_resourcebundle_get($bundle, $idx )
                    406: {
                    407:     return $GLOBALS['oo-mode'] ? $bundle->get($idx):resourcebundle_get($bundle, $idx);
                    408: }
                    409: function ut_resourcebundle_get_error_code($bundle )
                    410: {
                    411:     return $GLOBALS['oo-mode'] ? $bundle->getErrorCode():resourcebundle_get_error_code($bundle);
                    412: }
                    413: function ut_resourcebundle_get_error_message($bundle )
                    414: {
                    415:     return $GLOBALS['oo-mode'] ? $bundle->getErrorMessage():resourcebundle_get_error_message($bundle);
                    416: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>