Skip to content

Commit

Permalink
imagick integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cytopia committed Nov 21, 2019
1 parent c360bec commit 0750ec9
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
$img = new Imagick();

if ($img->newImage($width, $height, new ImagickPixel('transparent')) !== TRUE) {
echo 'FAIL: imagecreatetruecolor()';
echo 'FAIL: newImage()';
exit(1);
}

Expand All @@ -44,9 +44,8 @@
$draw->setFillColor('black');

if ($img->setImageFormat('png') !== TRUE) {
echo 'FAIL: imagecreatetruecolor()';
echo 'FAIL: setImageFormat()';
exit(1);
}


echo 'OK';
59 changes: 59 additions & 0 deletions tests/mods/modules/imagick/imagick-webp.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);


// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults)
if (version_compare(PHP_VERSION, '5.6.0', '<')) {
echo 'OK';
exit(0);
}
// FIXME: Currently not supported on PHP 8
if (version_compare(PHP_VERSION, '5.8.0', '>=')) {
echo 'OK';
exit(0);
}

/* Set width and height in proportion of genuine PHP logo */
$width = 400;
$height = 210;

/* Create an Imagick object with transparent canvas */
$img = new Imagick();

if ($img->newImage($width, $height, new ImagickPixel('transparent')) !== TRUE) {
echo 'FAIL: newImage()';
exit(1);
}

/* New ImagickDraw instance for ellipse draw */
$draw = new ImagickDraw();
/* Set purple fill color for ellipse */
$draw->setFillColor('#777bb4');
/* Set ellipse dimensions */
$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);
/* Draw ellipse onto the canvas */
$img->drawImage($draw);

/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */
$draw->setFillColor('black');

if ($img->setImageFormat('webp') !== TRUE) {
echo 'FAIL: setImageFormat()';
exit(1);
}
if ($img->setImageAlphaChannel(imagick::ALPHACHANNEL_ACTIVATE) !== TRUE) {
echo 'FAIL: setImageAlphaChannel()';
exit(1);
}
if ($img->setBackgroundColor(new ImagickPixel('transparent')) !== TRUE) {
echo 'FAIL: setBackgroundColor()';
exit(1);
}

echo 'OK';

0 comments on commit 0750ec9

Please sign in to comment.