Completed
Push — master ( 66ad27...2fab78 )
by Konrad
12:00 queued 08:18
created

testDecodeFilterFlateDecodeEmptyString()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 6
rs 10
1
<?php
2
3
/**
4
 * @file This file is part of the PdfParser library.
5
 *
6
 * @author  Konrad Abicht <[email protected]>
7
 * @date    2020-06-01
8
 *
9
 * @author  Sébastien MALOT <[email protected]>
10
 * @date    2017-01-03
11
 *
12
 * @license LGPLv3
13
 * @url     <https://github.com/smalot/pdfparser>
14
 *
15
 *  PdfParser is a pdf library written in PHP, extraction oriented.
16
 *  Copyright (C) 2017 - Sébastien MALOT <[email protected]>
17
 *
18
 *  This program is free software: you can redistribute it and/or modify
19
 *  it under the terms of the GNU Lesser General Public License as published by
20
 *  the Free Software Foundation, either version 3 of the License, or
21
 *  (at your option) any later version.
22
 *
23
 *  This program is distributed in the hope that it will be useful,
24
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
25
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26
 *  GNU Lesser General Public License for more details.
27
 *
28
 *  You should have received a copy of the GNU Lesser General Public License
29
 *  along with this program.
30
 *  If not, see <http://www.pdfparser.org/sites/default/LICENSE.txt>.
31
 */
32
33
namespace Tests\Smalot\PdfParser\Integration\RawData;
34
35
use Exception;
36
use Smalot\PdfParser\RawData\FilterHelper;
37
use Test\Smalot\PdfParser\TestCase;
38
39
class FilterHelperTest extends TestCase
40
{
41
    public function setUp()
42
    {
43
        parent::setUp();
44
45
        $this->fixture = new FilterHelper();
46
    }
47
48
    public function testDecodeFilterFlateDecode()
49
    {
50
        $compressed = gzcompress('Compress me', 9);
51
        $result = $this->fixture->decodeFilter('FlateDecode', $compressed);
52
53
        $this->assertEquals('Compress me', $result);
54
    }
55
56
    /**
57
     * How does function behave if an empty string was given.
58
     */
59
    public function testDecodeFilterFlateDecodeEmptyString()
60
    {
61
        $this->expectException(Exception::class);
62
        $this->expectExceptionMessage('gzuncompress(): data error');
63
64
        $this->fixture->decodeFilter('FlateDecode', '');
65
    }
66
67
    /**
68
     * How does function behave if an uncompressed string was given.
69
     */
70
    public function testDecodeFilterFlateDecodeUncompressedString()
71
    {
72
        $this->expectException(Exception::class);
73
        $this->expectExceptionMessage('gzuncompress(): data error');
74
75
        $this->fixture->decodeFilter('FlateDecode', 'something');
76
    }
77
}
78