Fix and reactivate regression test for bug #50194

Apparently, different FreeType versions render the string differently, so
we have to cater to these slight differences. Unfortunately, the testing
framework doesn't yet offer a clean API for this, so we work around the
limitations by parsing and checking the output of test_image_equals_file().
This commit is contained in:
Christoph M. Becker 2016-09-15 00:34:55 +02:00 committed by Christoph M. Becker
parent 36df4f8419
commit 7bfb7b62b1

View File

@ -4,7 +4,7 @@ Bug #50194 (imagettftext broken on transparent background w/o alphablending)
<?php
if (!extension_loaded('gd')) die('skip gd extension not available');
if (!function_exists('imagettftext')) die('skip imagettftext() not available');
die('skip freetype issues');
//die('skip freetype issues');
?>
--FILE--
<?php
@ -20,11 +20,19 @@ $font = __DIR__ . DIRECTORY_SEPARATOR . 'Tuffy.ttf';
imagettftext($im, 40, 0, 10, 40, $black, $font, $text);
imagesavealpha($im, true);
ob_start();
test_image_equals_file(__DIR__ . DIRECTORY_SEPARATOR . 'bug50194.png', $im);
$output = ob_get_clean();
assert(preg_match('/The images are equal|The images differ in (\d+) pixels/', $output, $matches));
if (isset($matches[1]) && $matches[1] > 2000) {
echo "The images differ in {$matches[1]} pixels.\n";
} else {
echo "The images are similar.\n";
}
imagedestroy($im);
?>
===DONE===
--EXPECT--
The images are equal.
The images are similar.
===DONE===