- sync tests with HEAD

This commit is contained in:
Pierre Joye 2006-07-17 12:54:09 +00:00
parent 46c036cd4d
commit cb41a19f28
17 changed files with 987 additions and 0 deletions

42
ext/gd/tests/colorat.phpt Normal file
View File

@ -0,0 +1,42 @@
--TEST--
imagecolorat
--SKIPIF--
<?php
if (!function_exists('imagecolorat')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$file = dirname(__FILE__) . '/im.wbmp';
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
imagesetpixel($im, 3,3, 0x0);
echo 'test colorat truecolor: ';
$c = imagecolorat($im, 3,3);
echo $c == 0x0 ? 'ok' : 'failed';
echo "\n";
imagedestroy($im);
$im = imagecreate(6,6);
$c1 = imagecolorallocate($im, 255,255,255);
$c2 = imagecolorallocate($im, 0,0,0);
imagefill($im, 0,0, $c1);
imagesetpixel($im, 3,3, $c2);
echo 'test colorat palette: ';
$c = imagecolorsforindex($im, imagecolorat($im, 3,3));
$failed = false;
foreach ($c as $v) {
if ($v != 0) {
$failed = true;
}
}
echo !$failed ? 'ok' : 'failed';
echo "\n";
?>
--EXPECT--
test colorat truecolor: ok
test colorat palette: ok

View File

@ -0,0 +1,127 @@
--TEST--
imageclosest
--SKIPIF--
<?php
if (!function_exists('imagecolorclosest')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$im = imagecreatetruecolor(5,5);
$c = imagecolorclosest($im, 255,0,255);
printf("%X\n", $c);
imagedestroy($im);
$im = imagecreate(5,5);
$c = imagecolorclosest($im, 255,0,255);
print_r(imagecolorsforindex($im, $c));
imagedestroy($im);
$im = imagecreate(5,5);
imagecolorallocate($im, 255, 0, 255);
$c = imagecolorclosest($im, 255,0,255);
print_r(imagecolorsforindex($im, $c));
imagedestroy($im);
$im = imagecreate(5,5);
for ($i=0; $i<255; $i++) imagecolorresolve($im, $i,0,0);
$c = imagecolorclosest($im, 255,0,0);
print_r(imagecolorsforindex($im, $c));
$im = imagecreate(5,5);
for ($i=0; $i<256; $i++) {
if ($i == 246) {
imagecolorallocate($im, $i,10,10);
} else {
imagecolorallocate($im, $i,0,0);
}
}
$c = imagecolorclosest($im, 255,10,10);
print_r(imagecolorsforindex($im, $c));
// with alpha
$im = imagecreatetruecolor(5,5);
$c = imagecolorclosestalpha($im, 255,0,255,100);
printf("%X\n", $c);
imagedestroy($im);
$im = imagecreate(5,5);
$c = imagecolorclosestalpha($im, 255,0,255,100);
print_r(imagecolorsforindex($im, $c));
imagedestroy($im);
$im = imagecreate(5,5);
imagecolorallocatealpha($im, 255, 0, 255, 1);
$c = imagecolorclosestalpha($im, 255,0,255,1);
print_r(imagecolorsforindex($im, $c));
imagedestroy($im);
$im = imagecreate(5,5);
for ($i=0; $i<255; $i++) imagecolorresolvealpha($im, $i,0,0,1);
$c = imagecolorclosestalpha($im, 255,0,0,1);
print_r(imagecolorsforindex($im, $c));
$im = imagecreate(5,5);
for ($i=0; $i<256; $i++) {
if ($i == 246) {
imagecolorallocatealpha($im, $i,10,10,1);
} else {
imagecolorallocatealpha($im, $i,0,0,100);
}
}
$c = imagecolorclosestalpha($im, 255,10,10,1);
print_r(imagecolorsforindex($im, $c));
?>
--EXPECTF--
FF00FF
Warning: imagecolorsforindex(): Color index -1 out of range in %s on line %d
Array
(
[red] => 255
[green] => 0
[blue] => 255
[alpha] => 0
)
Array
(
[red] => 254
[green] => 0
[blue] => 0
[alpha] => 0
)
Array
(
[red] => 246
[green] => 10
[blue] => 10
[alpha] => 0
)
64FF00FF
Warning: imagecolorsforindex(): Color index -1 out of range in %s on line %d
Array
(
[red] => 255
[green] => 0
[blue] => 255
[alpha] => 1
)
Array
(
[red] => 254
[green] => 0
[blue] => 0
[alpha] => 1
)
Array
(
[red] => 246
[green] => 10
[blue] => 10
[alpha] => 1
)

View File

@ -0,0 +1,40 @@
--TEST--
imagecolorexact
--SKIPIF--
<?php
if (!function_exists('imagecolorexact')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$im = imagecreatetruecolor(5,5);
$c = imagecolorexact($im, 255,0,255);
$c2 = imagecolorexactalpha($im, 255,0,255, 100);
printf("%X\n", $c);
printf("%X\n", $c2);
imagedestroy($im);
$im = imagecreate(5,5);
$c = imagecolorallocate($im, 255,0,255);
$c2 = imagecolorallocate($im, 255,200,0);
$c3 = imagecolorallocatealpha($im, 255,200,0,100);
echo imagecolorexact($im, 255,0,255) . "\n";
echo imagecolorexact($im, 255,200,0) . "\n";
echo imagecolorexactalpha($im, 255,200,0,100) . "\n";
// unallocated index
echo imagecolorexact($im, 12,12,12) . "\n";
imagedestroy($im);
?>
--EXPECTF--
FF00FF
64FF00FF
0
1
2
-1

View File

@ -0,0 +1,113 @@
--TEST--
imagecolorresolve
--SKIPIF--
<?php
if (!function_exists('imagecolorresolve')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$im = imagecreatetruecolor(5,5);
$c = imagecolorresolve($im, 255,0,255);
printf("%X\n", $c);
imagedestroy($im);
$im = imagecreate(5,5);
$c = imagecolorresolve($im, 255,0,255);
print_r(imagecolorsforindex($im, $c));
imagedestroy($im);
$im = imagecreate(5,5);
for ($i=0; $i<255; $i++) imagecolorresolve($im, $i,0,0);
$c = imagecolorresolve($im, 255,0,0);
print_r(imagecolorsforindex($im, $c));
$im = imagecreate(5,5);
for ($i=0; $i<256; $i++) {
if ($i == 246) {
imagecolorresolve($im, $i,10,10);
} else {
imagecolorresolve($im, $i,0,0);
}
}
$c = imagecolorresolve($im, 255,10,10);
print_r(imagecolorsforindex($im, $c));
// with alpha
$im = imagecreatetruecolor(5,5);
$c = imagecolorresolvealpha($im, 255,0,255, 100);
printf("%X\n", $c);
imagedestroy($im);
$im = imagecreate(5,5);
$c = imagecolorresolvealpha($im, 255,0,255,100);
print_r(imagecolorsforindex($im, $c));
imagedestroy($im);
$im = imagecreate(5,5);
for ($i=0; $i<255; $i++) imagecolorresolvealpha($im, $i,0,0,1);
$c = imagecolorresolvealpha($im, 255,0,0,1);
print_r(imagecolorsforindex($im, $c));
$im = imagecreate(5,5);
for ($i=0; $i<256; $i++) {
if ($i == 246) {
imagecolorresolvealpha($im, $i,10,10,1);
} else {
imagecolorresolvealpha($im, $i,0,0,100);
}
}
$c = imagecolorresolvealpha($im, 255,10,10,0);
print_r(imagecolorsforindex($im, $c));
?>
--EXPECTF--
FF00FF
Array
(
[red] => 255
[green] => 0
[blue] => 255
[alpha] => 0
)
Array
(
[red] => 255
[green] => 0
[blue] => 0
[alpha] => 0
)
Array
(
[red] => 246
[green] => 10
[blue] => 10
[alpha] => 0
)
64FF00FF
Array
(
[red] => 255
[green] => 0
[blue] => 255
[alpha] => 100
)
Array
(
[red] => 255
[green] => 0
[blue] => 0
[alpha] => 1
)
Array
(
[red] => 246
[green] => 10
[blue] => 10
[alpha] => 1
)

109
ext/gd/tests/copy.phpt Normal file
View File

@ -0,0 +1,109 @@
--TEST--
imagecopy
--SKIPIF--
<?php
if (!function_exists('imagecopy')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$src_tc = imagecreatetruecolor(5,5);
imagefill($src_tc, 0,0, 0xffffff);
imagesetpixel($src_tc, 3,3, 0xff0000);
imagesetpixel($src_tc, 0,0, 0x0000ff);
imagesetpixel($src_tc, 4,4, 0x00ff00);
$dst_tc = imagecreatetruecolor(5,5);
imagecopy($dst_tc, $src_tc, 0,0, 0,0, imagesx($src_tc), imagesy($src_tc));
$p1 = imagecolorat($dst_tc, 3,3) == 0xff0000;
$p2 = imagecolorat($dst_tc, 0,0) == 0x0000ff;
$p3 = imagecolorat($dst_tc, 4,4) == 0x00ff00;
if ($p1 && $p2 && $p3) {
echo "TC/TC: ok\n";
}
imagedestroy($src_tc); imagedestroy($dst_tc);
$src_tc = imagecreatetruecolor(5,5);
imagefill($src_tc, 0,0, 0xffffff);
imagesetpixel($src_tc, 3,3, 0xff0000);
imagesetpixel($src_tc, 0,0, 0x0000ff);
imagesetpixel($src_tc, 4,4, 0x00ff00);
$dst_tc = imagecreate(5,5);
imagecopy($dst_tc, $src_tc, 0,0, 0,0, imagesx($src_tc), imagesy($src_tc));
$c1 = imagecolorsforindex($dst_tc, imagecolorat($dst_tc, 3,3));
$c2 = imagecolorsforindex($dst_tc, imagecolorat($dst_tc, 0,0));
$c3 = imagecolorsforindex($dst_tc, imagecolorat($dst_tc, 4,4));
$p1 = $c1['red'] == 0xff && $c1['blue']==0x00 && $c1['green']==0x00;
$p2 = $c2['red'] == 0x00 && $c2['blue']==0xff && $c2['green']==0x00;
$p3 = $c3['red'] == 0x00 && $c3['blue']==0x00 && $c3['green']==0xff;
if ($p1 && $p2 && $p3) {
echo "TC/P: ok\n";
}
imagedestroy($src_tc); imagedestroy($dst_tc);
$src_tc = imagecreate(5,5);
$c0 = imagecolorallocate($src_tc, 0xff, 0xff, 0xff);
$c1 = imagecolorallocate($src_tc, 0xff, 0x00, 0x00);
$c2 = imagecolorallocate($src_tc, 0x00, 0x00, 0xff);
$c3 = imagecolorallocate($src_tc, 0x00, 0xff, 0x00);
imagesetpixel($src_tc, 3,3, $c1);
imagesetpixel($src_tc, 0,0, $c2);
imagesetpixel($src_tc, 4,4, $c3);
$dst_tc = imagecreate(5,5);
imagecopy($dst_tc, $src_tc, 0,0, 0,0, imagesx($src_tc), imagesy($src_tc));
$c1 = imagecolorsforindex($dst_tc, imagecolorat($dst_tc, 3,3));
$c2 = imagecolorsforindex($dst_tc, imagecolorat($dst_tc, 0,0));
$c3 = imagecolorsforindex($dst_tc, imagecolorat($dst_tc, 4,4));
$p1 = $c1['red'] == 0xff && $c1['blue']==0x00 && $c1['green']==0x00;
$p2 = $c2['red'] == 0x00 && $c2['blue']==0xff && $c2['green']==0x00;
$p3 = $c3['red'] == 0x00 && $c3['blue']==0x00 && $c3['green']==0xff;
if ($p1 && $p2 && $p3) {
echo "P/P: ok\n";
}
$src_tc = imagecreate(5,5);
$c0 = imagecolorallocate($src_tc, 0xff, 0xff, 0xff);
$c1 = imagecolorallocate($src_tc, 0xff, 0x00, 0x00);
$c2 = imagecolorallocate($src_tc, 0x00, 0x00, 0xff);
$c3 = imagecolorallocate($src_tc, 0x00, 0xff, 0x00);
imagesetpixel($src_tc, 3,3, $c1);
imagesetpixel($src_tc, 0,0, $c2);
imagesetpixel($src_tc, 4,4, $c3);
$dst_tc = imagecreatetruecolor(5,5);
imagecopy($dst_tc, $src_tc, 0,0, 0,0, imagesx($src_tc), imagesy($src_tc));
$p1 = imagecolorat($dst_tc, 3,3) == 0xff0000;
$p2 = imagecolorat($dst_tc, 0,0) == 0x0000ff;
$p3 = imagecolorat($dst_tc, 4,4) == 0x00ff00;
if ($p1 && $p2 && $p3) {
echo "P/TC: ok\n";
}
?>
--EXPECTF--
TC/TC: ok
TC/P: ok
P/P: ok
P/TC: ok

View File

@ -0,0 +1,91 @@
--TEST--
imagecopyresized
--SKIPIF--
<?php
if (!function_exists('imagecopyresized')) die("skip gd extension not available\n");
?>
--FILE--
<?php
function get_hexcolor($im, $c) {
if (imageistruecolor($im)) {
return $c;
}
$colors = imagecolorsforindex($im, $c);
return ($colors['red'] << 16) + ($colors['green'] << 8) + ($colors['blue']);
}
function check_doublesize($dst) {
$im = imagecreatetruecolor(38,38);
imagefill($im,0,0, 0xffffff);
imagefilledrectangle($im, 0,0,9,9, 0xff0000);
imagefilledrectangle($im, 0,28,9,37, 0xff0000);
imagefilledrectangle($im, 28,0,37,9, 0xff0000);
imagefilledrectangle($im, 28,28,37,37, 0xff0000);
imagefilledrectangle($im, 14,14,23,23, 0xff0000);
for ($x = 0; $x < 38; $x++) {
for ($y = 0; $y < 38; $y++) {
$p1 = imagecolorat($im, $x, $y);
$p2 = imagecolorat($dst, $x, $y);
if (get_hexcolor($im, $p1) != get_hexcolor($dst, $p2)) {
return false;
}
}
}
return true;
}
$src_tc = imagecreatetruecolor(19,19);
imagefill($src_tc, 0,0, 0xffffff);
imagefilledrectangle($src_tc, 0,0,4,4, 0xff0000);
imagefilledrectangle($src_tc, 14,0,18,4, 0xff0000);
imagefilledrectangle($src_tc, 0,14,4,18, 0xff0000);
imagefilledrectangle($src_tc, 14,14,18,18, 0xff0000);
imagefilledrectangle($src_tc, 7,7,11,11, 0xff0000);
$dst_tc = imagecreatetruecolor(38,38);
imagecopyresized($dst_tc, $src_tc, 0,0, 0,0, imagesx($dst_tc), imagesy($dst_tc), 19,19);
if (!check_doublesize($dst_tc)) exit("1 failed\n");
echo "TC->TC: ok\n";
$src_tc = imagecreate(19,19);
$white = imagecolorallocate($src_tc, 255,255,255);
$red = imagecolorallocate($src_tc, 255,0,0);
imagefilledrectangle($src_tc, 0,0,4,4, $red);
imagefilledrectangle($src_tc, 14,0,18,4, $red);
imagefilledrectangle($src_tc, 0,14,4,18, $red);
imagefilledrectangle($src_tc, 14,14,18,18, $red);
imagefilledrectangle($src_tc, 7,7,11,11, $red);
$dst_tc = imagecreatetruecolor(38,38);
imagecopyresized($dst_tc, $src_tc, 0,0, 0,0, imagesx($dst_tc), imagesy($dst_tc), 19,19);
if (!check_doublesize($dst_tc)) exit("2 failed\n");
echo "P->TC: ok\n";
$src_tc = imagecreate(19,19);
$white = imagecolorallocate($src_tc, 255,255,255);
$red = imagecolorallocate($src_tc, 255,0,0);
imagefilledrectangle($src_tc, 0,0,4,4, $red);
imagefilledrectangle($src_tc, 14,0,18,4, $red);
imagefilledrectangle($src_tc, 0,14,4,18, $red);
imagefilledrectangle($src_tc, 14,14,18,18, $red);
imagefilledrectangle($src_tc, 7,7,11,11, $red);
$dst_tc = imagecreate(38,38);
$white = imagecolorallocate($src_tc, 255,255,255);
$red = imagecolorallocate($src_tc, 255,0,0);
imagecopyresized($dst_tc, $src_tc, 0,0, 0,0, imagesx($dst_tc), imagesy($dst_tc), 19,19);
if (!check_doublesize($dst_tc)) exit("3 failed\n");
echo "P->P: ok\n";
?>
--EXPECTF--
TC->TC: ok
P->TC: ok
P->P: ok

View File

@ -0,0 +1,24 @@
--TEST--
imagecreatefromgd2
--SKIPIF--
<?php
if (!function_exists('imagecreatefromgd2')) die("skip gd extension not available\n");
if (!GD_BUNDLED) die('skip external GD libraries always fail');
?>
--FILE--
<?php
$file = dirname(__FILE__) . '/src.gd2';
$im2 = imagecreatefromgd2($file);
echo 'test create from gd2: ';
echo imagecolorat($im2, 4,4) == 0xffffff ? 'ok' : 'failed';
echo "\n";
$im3 = imagecreatefromgd2part($file, 4,4, 2,2);
echo 'test create from gd2 part: ';
echo imagecolorat($im2, 4,4) == 0xffffff ? 'ok' : 'failed';
echo "\n";
?>
--EXPECT--
test create from gd2: ok
test create from gd2 part: ok

View File

@ -0,0 +1,18 @@
--TEST--
imagecreatefromwbmp
--SKIPIF--
<?php
if (!function_exists('imagecreatefromwbmp')) die("skip gd extension not available\n");
if (!GD_BUNDLED) die('skip external GD libraries always fail');
?>
--FILE--
<?php
$file = dirname(__FILE__) . '/src.wbmp';
$im2 = imagecreatefromwbmp($file);
echo 'test create from wbmp: ';
echo imagecolorat($im2, 3,3) == 0x0 ? 'ok' : 'failed';
echo "\n";
?>
--EXPECT--
test create from wbmp: ok

View File

@ -0,0 +1,79 @@
--TEST--
imageline, dashed
--SKIPIF--
<?php
if (!function_exists('imagecreatefromstring')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
$r = 0xff0000;
$b = 0x0000ff;
$style = array($r, $b);
imagesetstyle($im, $style);
// Horizontal line
imageline($im, 0,5, 5,5, IMG_COLOR_STYLED);
$p1 = imagecolorat($im, 0,5) == $r;
$p2 = imagecolorat($im, 1,5) == $b;
$p3 = imagecolorat($im, 2,5) == $r;
$p4 = imagecolorat($im, 3,5) == $b;
$p5 = imagecolorat($im, 4,5) == $r;
$p5 = imagecolorat($im, 5,5) == $b;
if ($p1 && $p2 && $p3 && $p4 && $p5) {
echo "Horizontal: ok\n";
}
imagedestroy($im);
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
$style = array($r, $b);
imagesetstyle($im, $style);
imageline($im, 2,0, 2,5, IMG_COLOR_STYLED);
$p1 = imagecolorat($im, 2,0) == $r;
$p2 = imagecolorat($im, 2,1) == $b;
$p3 = imagecolorat($im, 2,2) == $r;
$p4 = imagecolorat($im, 2,3) == $b;
$p5 = imagecolorat($im, 2,4) == $r;
$p6 = imagecolorat($im, 2,5) == $b;
imagepng($im, 'b.png');
if ($p1 && $p2 && $p3 && $p4 && $p5 && $p6) {
echo "Vertical: ok\n";
}
imagedestroy($im);
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
$style = array($r, $b);
imagesetstyle($im, $style);
imageline($im, 0,0, 5,5, IMG_COLOR_STYLED);
$p1 = imagecolorat($im, 0,0) == $r;
$p2 = imagecolorat($im, 1,1) == $b;
$p3 = imagecolorat($im, 2,2) == $r;
$p4 = imagecolorat($im, 3,3) == $b;
$p5 = imagecolorat($im, 4,4) == $r;
$p6 = imagecolorat($im, 5,5) == $b;
if ($p1 && $p2 && $p3 && $p4 && $p5 && $p6) {
echo "Diagonal: ok\n";
}
imagedestroy($im);
?>
--EXPECTF--
Horizontal: ok
Vertical: ok
Diagonal: ok

145
ext/gd/tests/gif.phpt Normal file
View File

@ -0,0 +1,145 @@
--TEST--
gif in/out
--SKIPIF--
<?php
// $Id$
if (!extension_loaded('gd')) {
die("skip gd extension not available.");
}
if (!function_exists("imagegif") || !function_exists("imagecreatefromgif") || !function_exists('imagecreatefromjpeg')) {
die("skip gif support unavailable");
}
?>
--FILE--
<?php
function check_box($r,$g,$b, $error=0) {
$cwd = dirname(__FILE__);
$im2 = imagecreatefromgif($cwd . '/test_gif.gif');
$c = imagecolorsforindex($im2, imagecolorat($im2, 8,8));
if ($error>0) {
$r_min = $r - $error; $r_max = $r + $error;
$g_min = $g - $error; $g_max = $g + $error;
$b_min = $b - $error; $b_max = $b + $error;
if (
($c['red'] >= $r_min || $c['red'] <= $r_max)
&&
($c['green'] >= $g_min || $c['green'] <= $g_max)
&&
($c['blue'] >= $b_min || $c['blue'] <= $b_max)
) {
return true;
} else {
return false;
}
} else {
if ($c['red']==$r && $c['green']==$g && $c['blue']==$b) {
return true;
} else {
return false;
}
}
}
$cwd = dirname(__FILE__);
$im = imagecreate(10,10);
$c = imagecolorallocate($im, 255,255,255);
imagefilledrectangle($im, 5,5, 10,10, $c);
imagegif($im, $cwd . '/test_gif.gif');
if (check_box(255,255,255)) {
echo "<4 cols: ok\n";
}
$im = imagecreate(10,10);
for ($i=0; $i<7; $i++) {
$c = imagecolorallocate($im, $i,$i,$i);
}
imagefilledrectangle($im, 5,5, 10,10, $c);
imagegif($im, $cwd . '/test_gif.gif');
$i--;
if (check_box($i,$i,$i)) {
echo "<8 cols: ok\n";
}
$im = imagecreate(10,10);
for ($i=0; $i<15; $i++) {
$c = imagecolorallocate($im, $i,$i,$i);
}
imagefilledrectangle($im, 5,5, 10,10, $c);
imagegif($im, $cwd . '/test_gif.gif');
$i--;
if (check_box($i,$i,$i)) {
echo "<16 cols: ok\n";
}
$im = imagecreate(10,10);
for ($i=0; $i<31; $i++) {
$c = imagecolorallocate($im, $i,$i,$i);
}
imagefilledrectangle($im, 5,5, 10,10, $c);
imagegif($im, $cwd . '/test_gif.gif');
$i--;
if (check_box($i,$i,$i)) {
echo "<32 cols: ok\n";
}
$im = imagecreate(10,10);
for ($i=0; $i<63; $i++) {
$c = imagecolorallocate($im, $i,$i,$i);
}
imagefilledrectangle($im, 5,5, 10,10, $c);
imagegif($im, $cwd . '/test_gif.gif');
$i--;
if (check_box($i,$i,$i)) {
echo "<64 cols: ok\n";
}
$im = imagecreate(10,10);
for ($i=0; $i<127; $i++) {
$c = imagecolorallocate($im, $i,$i,$i);
}
imagefilledrectangle($im, 5,5, 10,10, $c);
imagegif($im, $cwd . '/test_gif.gif');
$i--;
if (check_box($i,$i,$i)) {
echo "<128 cols: ok\n";
}
$im = imagecreate(10,10);
for ($i=0; $i<255; $i++) {
$c = imagecolorallocate($im, $i,$i,$i);
}
imagefilledrectangle($im, 5,5, 10,10, $c);
imagegif($im, $cwd . '/test_gif.gif');
$i--;
if (check_box($i,$i,$i)) {
echo "<256 cols: ok\n";
}
$im = imagecreatefromjpeg($cwd . '/conv_test.jpeg');
imagefilledrectangle($im, 5,5, 10,10, 0xffffff);
imagegif($im, $cwd . '/test_gif.gif');
imagegif($im, $cwd . '/test_gif_2.gif');
if (check_box(255,255,255, 10)) {
echo ">256 cols: ok\n";
}
@unlink($cwd . "/test_gif.gif");
?>
--EXPECT--
<4 cols: ok
<8 cols: ok
<16 cols: ok
<32 cols: ok
<64 cols: ok
<128 cols: ok
<256 cols: ok
>256 cols: ok

View File

@ -0,0 +1,31 @@
--TEST--
imagewbmp
--SKIPIF--
<?php
if (!function_exists('imagecreatefromwbmp')) die("skip gd extension not available\n");
if (!GD_BUNDLED) die('skip external GD libraries always fail');
?>
--FILE--
<?php
$file = dirname(__FILE__) . '/im.wbmp';
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
imagesetpixel($im, 3,3, 0x0);
imagewbmp($im, $file);
$im2 = imagecreatefromwbmp($file);
echo 'test create wbmp: ';
$c = imagecolorsforindex($im2, imagecolorat($im2, 3,3));
$failed = false;
foreach ($c as $v) {
if ($v != 0) {
$failed = true;
}
}
echo !$failed ? 'ok' : 'failed';
echo "\n";
unlink($file);
?>
--EXPECT--
test create wbmp: ok

116
ext/gd/tests/lines.phpt Normal file
View File

@ -0,0 +1,116 @@
--TEST--
imageline no AA
--SKIPIF--
<?php
if (!function_exists('imageline')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
// Wrong argument count
imageline($im, 0,0, 5,5);
// Horizontal line
imageline($im, 0,5, 5,5, 0x00ff00);
$p1 = imagecolorat($im, 0,5)==0x00ff00;
$p2 = imagecolorat($im, 5,5)==0x00ff00;
$p3 = true;
for ($x=1; $x<5; $x++) {
$p3 = $p3 && (imagecolorat($im, $x,5)==0x00ff00);
}
if ($p1 && $p2 && $p3) {
echo "Horizontal: ok\n";
}
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
imageline($im, 0,0, 0,5, 0x00ff00);
$p1 = imagecolorat($im, 0,0)==0x00ff00;
$p2 = imagecolorat($im, 0,5)==0x00ff00;
$p3 = true;
for ($y=1; $y<5; $y++) {
$p3 = $p3 && (imagecolorat($im, 0,$y)==0x00ff00);
}
if ($p1 && $p2 && $p3) {
echo "Vertical: ok\n";
}
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
imageline($im, 0,0, 5,5, 0x00ff00);
// Diagonal
$p1 = imagecolorat($im, 0,0)==0x00ff00;
$p2 = imagecolorat($im, 5,5)==0x00ff00;
$x=1;
$p3 = true;
for ($y=1; $y<5; $y++) {
$p3 = $p3 && (imagecolorat($im, $x,$y)==0x00ff00);
$x++;
}
if ($p1 && $p2 && $p3) {
echo "Diagonal: ok\n";
}
imagepng($im, 'a.png');
// Outside
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
imageline($im, 12, 12, 23,23, 0x00ff00);
$p3 = true;
for ($x=0; $x<6; $x++) {
for ($y=0; $y<6; $y++) {
$p3 = $p3 && (imagecolorat($im, $x,$y)!=0x00ff00);
}
}
if ($p3) {
echo "Outside 1: ok\n";
}
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
imageline($im, -12, -12, -23,-23, 0x00ff00);
$p3 = true;
for ($x=0; $x<6; $x++) {
for ($y=0; $y<6; $y++) {
$p3 = $p3 && (imagecolorat($im, $x,$y)!=0x00ff00);
}
}
if ($p3) {
echo "Outside 2: ok\n";
}
$im = imagecreatetruecolor(6,6);
imagefill($im, 0,0, 0xffffff);
imageline($im, -1, -1, 4,4, 0x00ff00);
$p3 = true;
for ($x=0; $x<5; $x++) {
for ($y=0; $y<5; $y++) {
$p3 = $p3 && (imagecolorat($im, $x,$y)==0x00ff00);
}
}
if ($p3) {
echo "Outside 2: ok\n";
}
?>
--EXPECTF--
Warning: Wrong parameter count for imageline() in %s on line %d
Horizontal: ok
Vertical: ok
Diagonal: ok
Outside 1: ok
Outside 2: ok

BIN
ext/gd/tests/src.gd2 Normal file

Binary file not shown.

BIN
ext/gd/tests/src.wbmp Normal file

Binary file not shown.

BIN
ext/gd/tests/test_gif_2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,19 @@
--TEST--
imageistruecolor, truecolortopalette
--SKIPIF--
<?php
if (!function_exists('imagetruecolortopalette')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$im = imagecreatetruecolor(1,1);
if (imageistruecolor($im)) echo "ok\n";
if (imagetruecolortopalette($im, 1,2)) echo "ok\n";
if (!imageistruecolor($im)) echo "ok\n";
?>
--EXPECTF--
ok
ok
ok

33
ext/gd/tests/types.phpt Normal file
View File

@ -0,0 +1,33 @@
--TEST--
imagetypes
--SKIPIF--
<?php
if (!function_exists('imagetypes')) die("skip gd extension not available\n");
?>
--FILE--
<?php
$flags = imagetypes();
if ($flags&0x1 && !function_exists("imagegif")) {
echo "gif failed\n";
}
if ($flags&0x2 && !function_exists("imagejpeg")) {
echo "jpeg failed\n";
}
if ($flags&0x4 && !function_exists("imagepng")) {
echo "png failed\n";
}
if ($flags&0x8 && !function_exists("imagewbmp")) {
echo "wbmp failed\n";
}
if ($flags&16 && !function_exists("imagecreatefromxpm")) {
echo "xom failed\n";
}
echo "ok\n";
?>
--EXPECTF--
ok