pajoye          Mon Dec 26 19:11:51 2005 EDT

  Added files:                 
    /php-src/ext/gd/tests       gif.phpt 
  Log:
  - basic gif i/o test
  
  

http://cvs.php.net/viewcvs.cgi/php-src/ext/gd/tests/gif.phpt?view=markup&rev=1.1
Index: php-src/ext/gd/tests/gif.phpt
+++ php-src/ext/gd/tests/gif.phpt
--TEST--
gif in/out
--SKIPIF--
<?php 
// $Id: gif.phpt,v 1.1 2005/12/26 19:11:51 pajoye Exp $
        if (!extension_loaded('gd')) {
                die("skip gd extension not available.");
        }
        if (!function_exists("imagegif") || 
!function_exists("imagecreatefromgif")) {
                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

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to