PHP Classes
elePHPant
Icontem

File: test/regular/SimpleImageTest.php

Recommend this page to a friend!
  Classes of Patrick Van Bergen  >  Move Me GIF  >  test/regular/SimpleImageTest.php  >  Download  
File: test/regular/SimpleImageTest.php
Role: Unit test script
Content type: text/plain
Description: Unit test script
Class: Move Me GIF
Create animated GIF images in pure PHP
Author: By
Last change: Use imagegif to create compressed pixel data if possible, which is much faster.
Date: 2 years ago
Size: 1,543 bytes
 

Contents

Class file image Download
<?php

use movemegif\data\Formatter;
use
movemegif\domain\StringCanvas;
use
movemegif\GifBuilder;

require_once
__DIR__ . '/../../php/autoloader.php';

/**
 * Integration test that builds a simple GIF.
 * Tests defaults.
 *
 * @author Patrick van Bergen
 */
class SimpleImageTest extends PHPUnit_Framework_TestCase
{
    public function
testCreateImage()
    {
       
$pixelIndexes = "
            1 1 1 1 1 2 2 2 2 2
            1 1 1 1 1 2 2 2 2 2
            1 1 1 1 1 2 2 2 2 2
            1 1 1 0 0 0 0 2 2 2
            1 1 1 0 0 0 0 2 2 2
            2 2 2 0 0 0 0 1 1 1
            2 2 2 0 0 0 0 1 1 1
            2 2 2 2 2 1 1 1 1 1
            2 2 2 2 2 1 1 1 1 1
            2 2 2 2 2 1 1 1 1 1
        "
;

       
$index2color = array(
           
'0' => 0xFFFFFF,
           
'1' => 0xFF0000,
           
'2' => 0x0000FF,
           
'3' => 0x000000
       
);

       
$canvas = new StringCanvas(10, 10, $pixelIndexes, $index2color);

       
$builder = new GifBuilder(10, 10);
       
$builder->addFrame()->setCanvas($canvas)->setUseGlobalColorTable();

       
$contents = $builder->getContents();

       
$actual = Formatter::byteString2hexString($contents);
       
$expected = "47 49 46 38 39 61 0A 00 0A 00 91 00 00 FF 00 00 00 00 FF FF FF FF 00 00 00 21 F9 04 00 00 00 00 00 2C 00 00 00 00 0A 00 0A 00 00 02 16 84 1D 99 87 1A 0C DC 33 A2 0A 75 EC 95 FA A8 DE 60 8C 04 91 4C 01 00 21 FE 16 43 72 65 61 74 65 64 20 77 69 74 68 20 6D 6F 76 65 6D 65 67 69 66 00 3B";

       
$this->assertEquals($expected, $actual);
    }
}