<?php
/*
* This should produce failures when using a version of libpcre older than 8.32
*/
// Ignore versions other than 5.3-5.5
if (!preg_match('/^5\.[345]\./', phpversion())) {
print "Don't care about this version\n";
exit(0);
}
error_reporting(E_ALL);
ob_start();
phpinfo();
$phpinfo = ob_get_clean();
print preg_replace('/.*(PCRE Library Version => .*?$).*/sm', '$1', $phpinfo) . "\n";
$tests = array();
$test_string = mb_convert_encoding('நி', 'UTF-32', 'HTML-ENTITIES');
print "$test_string\n";
print strlen($test_string) . "\n";
print mb_strlen($test_string, 'UTF-32') . "\n";
$tests['string_length'] = (mb_strlen($test_string, 'UTF-32') === 1);
$tests['string_match'] = (preg_match('/^\X$/u', $test_string) === 1);
$fails = array();
foreach ($tests as $key => $value) {
if ($value === false) {
$fails[$key] = $value;
}
}
if (count($fails) > 0) {
echo "Failed: " . join(', ', array_keys($fails)) . "\n";
exit(1);
}
exit(0);
preferences:
36.42 ms | 402 KiB | 5 Q