Fix my previous commit so that it might even work
[mediawiki.git] / maintenance / tests / ctype.php
blob5ede626380087cbc9d3faff05afdf41f53879764
1 <?php
2 require_once '../commandLine.inc';
3 $cont = file_get_contents( "$IP/includes/compatability/ctype.php" );
4 $cont = preg_replace( '~^<\?php~', '', $cont );
5 preg_match_all( '~function (ctype_[a-z]+)~', $cont, $m );
6 $cont = preg_replace( '~(function )(ctype_)~', '\1_\2', $cont );
7 $cont = preg_replace( '~\?>$~', '', $cont );
9 eval( $cont );
11 foreach ( $m[1] as $function ) {
12 $php = "$function";
13 $mw = "_$function";
14 $range = range( -1000, 1000 );
15 foreach ( $range as $i ) {
16 ret_cmp( $php, $i, $php( $i ), $mw( $i ) );
19 foreach ( $range as $i ) {
20 $i = chr( $i );
21 ret_cmp( $php, $i, $php( $i ), $mw( $i ) );
24 ret_cmp( $php, $i, $php( array() ), $mw( array() ) );
27 function ret_cmp( $fname, $in, $php, $mw ) {
28 if ( $php != '' )
29 return;
30 if ( $php !== $mw )
31 echo "PHP $fname() returned '" . serialize( $php ) . "' for '" . serialize( $in) . "', MediaWiki returned '" . serialize( $mw ) . "'\n";