Fix phpunit for crop of image
This commit is contained in:
parent
5aa9927784
commit
7b706d6fe5
@ -187,7 +187,7 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
$imgHeight = $infoImg[1]; // Hauteur de l'image
|
$imgHeight = $infoImg[1]; // Hauteur de l'image
|
||||||
|
|
||||||
$imgTargetName = ($filetowrite ? $filetowrite : $file);
|
$imgTargetName = ($filetowrite ? $filetowrite : $file);
|
||||||
$infoImgTarget = getimagesize($imgTargetName); // Get data about target image
|
$newExt = strtolower(pathinfo($imgTargetName, PATHINFO_EXTENSION));
|
||||||
|
|
||||||
if ($mode == 0) { // If resize, we check parameters
|
if ($mode == 0) { // If resize, we check parameters
|
||||||
if (!empty($filetowrite) && $filetowrite != $file && $newWidth <= 0 && $newHeight <= 0) {
|
if (!empty($filetowrite) && $filetowrite != $file && $newWidth <= 0 && $newHeight <= 0) {
|
||||||
@ -253,7 +253,7 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create empty image for target
|
// Create empty image for target
|
||||||
if ($infoImgTarget[2] == 1) {
|
if ($newExt == 'gif') {
|
||||||
// Compatibility image GIF
|
// Compatibility image GIF
|
||||||
$imgTarget = imagecreate($newWidth, $newHeight);
|
$imgTarget = imagecreate($newWidth, $newHeight);
|
||||||
} else {
|
} else {
|
||||||
@ -271,22 +271,22 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set transparent color according to image extension
|
// Set transparent color according to image extension
|
||||||
switch ($infoImgTarget[2]) {
|
switch ($newExt) {
|
||||||
case 1: // Gif
|
case 'gif': // Gif
|
||||||
$trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
|
$trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
|
||||||
imagecolortransparent($imgTarget, $trans_colour);
|
imagecolortransparent($imgTarget, $trans_colour);
|
||||||
break;
|
break;
|
||||||
case 2: // Jpg
|
case 'jpg': // Jpg
|
||||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
||||||
break;
|
break;
|
||||||
case 3: // Png
|
case 'png': // Png
|
||||||
imagealphablending($imgTarget, false); // Pour compatibilite sur certain systeme
|
imagealphablending($imgTarget, false); // Pour compatibilite sur certain systeme
|
||||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127); // Keep transparent channel
|
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127); // Keep transparent channel
|
||||||
break;
|
break;
|
||||||
case 4: // Bmp
|
case 'bmp': // Bmp
|
||||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
|
||||||
break;
|
break;
|
||||||
case 18: // Webp
|
case 'webp': // Webp
|
||||||
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127);
|
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -302,8 +302,6 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
|
|||||||
//$fp = fopen($imgTargetName, "w");
|
//$fp = fopen($imgTargetName, "w");
|
||||||
//fclose($fp);
|
//fclose($fp);
|
||||||
|
|
||||||
$newExt = strtolower(pathinfo($imgTargetName, PATHINFO_EXTENSION));
|
|
||||||
|
|
||||||
// Create image on disk (overwrite file if exists)
|
// Create image on disk (overwrite file if exists)
|
||||||
switch ($newExt) {
|
switch ($newExt) {
|
||||||
case 'gif': // Gif
|
case 'gif': // Gif
|
||||||
|
|||||||
@ -29,6 +29,7 @@ global $conf,$user,$langs,$db;
|
|||||||
//require_once 'PHPUnit/Autoload.php';
|
//require_once 'PHPUnit/Autoload.php';
|
||||||
require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
|
require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
|
||||||
require_once dirname(__FILE__).'/../../htdocs/core/lib/images.lib.php';
|
require_once dirname(__FILE__).'/../../htdocs/core/lib/images.lib.php';
|
||||||
|
require_once dirname(__FILE__).'/../../htdocs/core/lib/files.lib.php';
|
||||||
|
|
||||||
if (empty($user->id)) {
|
if (empty($user->id)) {
|
||||||
print "Load permissions for admin user nb 1\n";
|
print "Load permissions for admin user nb 1\n";
|
||||||
@ -164,8 +165,16 @@ class ImagesLibTest extends PHPUnit\Framework\TestCase
|
|||||||
|
|
||||||
$file=dirname(__FILE__).'/img250x20.png';
|
$file=dirname(__FILE__).'/img250x20.png';
|
||||||
$filetarget=$conf->admin->dir_temp.'/img250x20.jpg';
|
$filetarget=$conf->admin->dir_temp.'/img250x20.jpg';
|
||||||
|
dol_delete_file($filetarget);
|
||||||
$result = dol_imageResizeOrCrop($file, 0, 0, 0, 0, 0, $filetarget);
|
$result = dol_imageResizeOrCrop($file, 0, 0, 0, 0, 0, $filetarget);
|
||||||
print __METHOD__." result=".$result."\n";
|
print __METHOD__." result=".$result."\n";
|
||||||
$this->assertEquals($filetarget, $result, 'Failed to convert into '.$filetarget);
|
$this->assertEquals($filetarget, $result, 'Failed to convert PNG '.$file.' into '.$filetarget);
|
||||||
|
|
||||||
|
$file=dirname(__FILE__).'/img250x20.png';
|
||||||
|
$filetarget=$conf->admin->dir_temp.'/img250x20.webp';
|
||||||
|
dol_delete_file($filetarget);
|
||||||
|
$result = dol_imageResizeOrCrop($file, 0, 0, 0, 0, 0, $filetarget);
|
||||||
|
print __METHOD__." result=".$result."\n";
|
||||||
|
$this->assertEquals($filetarget, $result, 'Failed to convert PNG '.$file.' into WEBP '.$filetarget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user