Passed
Push — master ( 0c7a8b...435b42 )
by Johannes
03:56
created

Gh_21_Test::tearDown()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * PEL: PHP Exif Library.
4
 * A library with support for reading and
5
 * writing all Exif headers in JPEG and TIFF images using PHP.
6
 *
7
 * Copyright (C) 2004, 2006, 2007 Martin Geisler.
8
 *
9
 * This program is free software; you can redistribute it and/or modify
10
 * it under the terms of the GNU General Public License as published by
11
 * the Free Software Foundation; either version 2 of the License, or
12
 * (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program in the file COPYING; if not, write to the
21
 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
22
 * Boston, MA 02110-1301 USA
23
 */
24
namespace Pel\Test;
25
26
use lsolesen\pel\PelJpeg;
27
use PHPUnit\Framework\TestCase;
28
29
class Gh_21_Test extends TestCase
30
{
31
32
    protected $file;
33
34
    public function setUp(): void
35
    {
36
        $this->file = dirname(__FILE__) . '/images/gh-21-tmp.jpg';
37
        $file = dirname(__FILE__) . '/images/gh-21.jpg';
38
        copy($file, $this->file);
39
    }
40
41
    public function tearDown(): void
42
    {
43
        unlink($this->file);
44
    }
45
46
    public function testThisDoesNotWorkAsExpected()
47
    {
48
        $scale = 0.75;
49
        $input_jpeg = new PelJpeg($this->file);
50
51
        $original = ImageCreateFromString($input_jpeg->getBytes());
52
53
        $this->assertNotFalse($original, 'New image must not be false');
54
55
        $original_w = ImagesX($original);
56
        $original_h = ImagesY($original);
57
58
        $scaled_w = (int) ($original_w * $scale);
59
        $scaled_h = (int) ($original_h * $scale);
60
61
        $scaled = ImageCreateTrueColor($scaled_w, $scaled_h);
62
        $this->assertNotFalse($scaled, 'Resized image must not be false');
63
64
        ImageCopyResampled($scaled, $original, 0, 0, 0, 0, $scaled_w, $scaled_h, $original_w, $original_h);
65
66
        $output_jpeg = new PelJpeg($scaled);
67
68
        $exif = $input_jpeg->getExif();
69
70
        if ($exif !== null) {
71
            $output_jpeg->setExif($exif);
72
        }
73
74
        file_put_contents($this->file, $output_jpeg->getBytes());
75
76
        $jpeg = new PelJpeg($this->file);
77
        $exifin = $jpeg->getExif();
78
        $this->assertEquals($exif, $exifin);
79
    }
80
}
81