summaryrefslogtreecommitdiff
path: root/ext/gd/tests/imagecolorallocatealpha_basic.phpt
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2016-06-19 14:29:27 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2016-09-11 12:56:53 +0200
commitdc09f309335cf8df7d39adc03580ac8d4f0c78f5 (patch)
tree1fbcf941a8fa538c889be5780e7e8dd24b81f07d /ext/gd/tests/imagecolorallocatealpha_basic.phpt
parent326a4e38fbe8fd776624fc9891ad6a91a034504b (diff)
downloadphp-git-dc09f309335cf8df7d39adc03580ac8d4f0c78f5.tar.gz
A picture is worth a thousand message digests
The bundled GD test suites makes heavy use of md5() to verify the result of drawing operations. This leads to fragile tests (even a slight change in a PNG header would cause failure, and of course there is the possibility of collisions), and even worse, eventual test failures are rather unrevealing. Therefore we replace all md5() verification with a simplistic test_image_equals_file(), which is basically a simplified port of libgd's gdTestImageCompareToFile(), adapted to the needs of PHPTs. In the long run better tests helpers should be introduced (see also <http://news.php.net/php.internals/94081>), but for now this solution is preferable over the former. (cherry picked from commit 24f9e96792518ec2a75f26b1eb2471dd7694f2b7)
Diffstat (limited to 'ext/gd/tests/imagecolorallocatealpha_basic.phpt')
-rw-r--r--ext/gd/tests/imagecolorallocatealpha_basic.phpt10
1 files changed, 3 insertions, 7 deletions
diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt
index 8595b40507..f0d1e45e6e 100644
--- a/ext/gd/tests/imagecolorallocatealpha_basic.phpt
+++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt
@@ -20,14 +20,10 @@ $corA = imagecolorallocatealpha($img, 50, 100, 255, 50);
$half = imagefilledarc ( $img, 75, 75, 70, 70, 0, 180, $cor, IMG_ARC_PIE );
$half2 = imagefilledarc ( $img, 75, 75, 70, 70, 180, 360, $corA, IMG_ARC_PIE );
-ob_start();
-imagegd($img);
-$imgsrc = ob_get_contents();
-ob_end_clean();
-
-var_dump(md5(base64_encode($imgsrc)));
+include_once __DIR__ . '/func.inc';
+test_image_equals_file(__DIR__ . '/imagecolorallocatealpha_basic.png', $img);
var_dump($corA);
?>
--EXPECT--
-string(32) "0981ef94ee2209a8dccb59aa8ad07e18"
+The images are equal.
int(842163455) \ No newline at end of file