Test Failed
Pull Request — master (#614)
by
unknown
02:15
created

ElementBoolean   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 33
ccs 13
cts 13
cp 1
rs 10
wmc 7
1
<?php
2
3
/**
4
 * @file
5
 *          This file is part of the PdfParser library.
6
 *
7
 * @author  Sébastien MALOT <[email protected]>
8
 *
9
 * @date    2017-01-03
10
 *
11
 * @license LGPLv3
12
 *
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 Smalot\PdfParser\Element;
34
35
use Smalot\PdfParser\Document;
36
use Smalot\PdfParser\Element;
37
38
/**
39
 * Class ElementBoolean
40
 */
41
class ElementBoolean extends Element
42
{
43
    /**
44
     * @param string|bool $value
45
     */
46 22
    public function __construct($value)
47
    {
48 22
        parent::__construct('true' == strtolower($value) || true === $value, null);
49 22
    }
50
51 1
    public function __toString(): string
52
    {
53 1
        return $this->value ? 'true' : 'false';
54
    }
55
56 2
    public function equals($value): bool
57
    {
58 2
        return $this->getContent() === $value;
59
    }
60
61
    /**
62
     * @return bool|ElementBoolean
63
     */
64 18
    public static function parse(string $content, Document $document = null, int &$offset = 0)
0 ignored issues
show
Bug introduced by
A parse error occurred: Syntax error, unexpected T_VARIABLE, expecting T_STRING or T_NAME_QUALIFIED or T_NAME_FULLY_QUALIFIED or T_NAME_RELATIVE on line 64 at column 82
Loading history...
65
    {
66 18
        if (preg_match('/^\s*(?P<value>true|false)/is', $content, $match)) {
67 3
            $value = $match['value'];
68 3
            $offset += strpos($content, $value) + \strlen($value);
69
70 3
            return new self($value);
71
        }
72
73 18
        return false;
74
    }
75
}
76