<?php 
 
/* 
 * This file is part of the Jaguar package. 
 * 
 * (c) Hyyan Abo Fakher <[email protected]> 
 * 
 * For the full copyright and license information, please view the LICENSE 
 * file that was distributed with this source code. 
 */ 
 
namespace Jaguar\Tests\Format; 
 
use Jaguar\Format\Gd; 
use Jaguar\Dimension; 
use Jaguar\Box; 
use Jaguar\Tests\AbstractCanvasTest; 
 
class GdTest extends AbstractCanvasTest 
{ 
    protected function getCanvas() 
    { 
        return new Gd(new Dimension(300, 300)); 
    } 
 
    protected function getPalleteFile() 
    { 
        return $this->getFixture('pallete/pallete.gd2'); 
        ; 
    } 
 
    protected function getInvalidCanvasFile() 
    { 
        return $this->getFixture('invalid/invalid-gd.gd2'); 
        ; 
    } 
 
    protected function getCanvasFile() 
    { 
        return $this->getFixture('gd.gd2'); 
    } 
 
    /** 
     * @expectedException \InvalidArgumentException 
     */ 
    public function testFromFileThrowInvalidArgumentExceptionOnNonGd() 
    { 
        $this->getCanvas()->fromFile($this->getFixture('sky.jpg')); 
    } 
 
    /** 
     * @expectedException \InvalidArgumentException 
     */ 
    public function testIsGdFileThrowInvalidArgumentException() 
    { 
        $c = $this->getCanvas(); 
        $c::isGdFile('not found'); 
    } 
 
    /** 
     * @expectedException \InvalidArgumentException 
     */ 
    public function testPartFromFileThrowInvalidArgumentException() 
    { 
        $this->getCanvas()->partFromFile( 
                'non readable file' 
                , new Box(new Dimension(50, 50)) 
        ); 
    } 
 
    /** 
     * @expectedException \Jaguar\Exception\CanvasCreationException 
     */ 
    public function testPartFromFileThrowCanvasCreationException() 
    { 
        $this->getCanvas()->partFromFile( 
                $this->getInvalidCanvasFile() 
                , new Box(new Dimension(50, 50)) 
        ); 
    } 
 
    public function testPartFromFile() 
    { 
        $c = $this->getCanvas()->partFromFile( 
                $this->getCanvasFile() 
                , new Box(new Dimension(50, 50)) 
        ); 
        $this->assertTrue($c->isHandlerSet()); 
        $this->assertTrue($c->getDimension()->equals(new Dimension(50, 50))); 
    } 
 
} 
 
 |