summaryrefslogtreecommitdiffstats
path: root/tests/ImageWorkshopTest.php
blob: 523e9d33cf9802f22e36bdbd2df67874fb1d8c71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php

use PHPImageWorkshop\ImageWorkshop as ImageWorkshop;

require_once(__DIR__.'/autoload.php');

/**
 * ImageWorkshopTest class
 * 
 * Tests ImageWorkshop class
 * 
 * @link http://phpimageworkshop.com
 * @author Sybio (Clément Guillemain  / @Sybio01)
 * @license http://en.wikipedia.org/wiki/MIT_License
 * @copyright Clément Guillemain
 * 
 */
class ImageWorkshopTest extends \PHPUnit_Framework_TestCase
{
    // Properties
    // ===================================================================================
    
    const IMAGE_SAMPLE_PATH = '/Resources/images/sample1.jpg';
    const FONT_SAMPLE_PATH  = '/Resources/fonts/arial.ttf';
    const WEB_PATH          = 'http://localhost:8000';
    
    // Tests
    // ===================================================================================
    
    /**
     * Test initFromPath
     */
    public function testInitFromPath()
    {
        // test 1
        
        $layer = ImageWorkshop::initFromPath(__DIR__.static::IMAGE_SAMPLE_PATH);
        
        $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');
        $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');

        // test 2

        $layer = ImageWorkshop::initFromPath('file://'.__DIR__.static::IMAGE_SAMPLE_PATH);

        $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');
        $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');

        // test 3

        if (version_compare(PHP_VERSION, '5.4', '>=')) {
            $layer = ImageWorkshop::initFromPath(static::WEB_PATH.'/sample1.jpg');

            $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');
            $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');
        }

        // test 4
        
        $this->setExpectedException('PHPImageWorkshop\Exception\ImageWorkshopException', '', ImageWorkshop::ERROR_IMAGE_NOT_FOUND);
        $layer = ImageWorkshop::initFromPath('fakePath');
    }
    
    /**
     * Test initTextLayer
     */
    public function testInitTextLayer()
    {
        $layer = ImageWorkshop::initTextLayer('Hello John Doe !', __DIR__.static::FONT_SAMPLE_PATH, 15, 'ff0000', 10, 'ffffff');
        
        $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');
        $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');
    }
    
    /**
     * Test initVirginLayer
     */
    public function testInitVirginLayer()
    {
        $layer = ImageWorkshop::initVirginLayer(189, 242, 'ff0000');
        
        $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');
        $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');
    }
    
    /**
     * Test initFromResourceVar
     */
    public function testInitFromResourceVar()
    {
        $layer = ImageWorkshop::initFromResourceVar(imageCreateFromJPEG(__DIR__.static::IMAGE_SAMPLE_PATH));
        
        $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');
        $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');
    }
    
    /**
     * Test initFromString
     */
    public function testInitFromString()
    {
        $layer = ImageWorkshop::initFromString(file_get_contents(__DIR__.static::IMAGE_SAMPLE_PATH));
        
        $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');
        $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');
    }
}