Passed
Push — master ( 9aadc1...ed42e4 )
by Kirill
03:38
created

HighlighterTest::testPlainHighlighterLines()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 7
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * Spiral Framework.
5
 *
6
 * @license   MIT
7
 * @author    Anton Titov (Wolfy-J)
8
 */
9
10
declare(strict_types=1);
11
12
namespace Spiral\Tests\Exceptions;
13
14
use PHPUnit\Framework\TestCase;
15
use Spiral\Exceptions\Highlighter;
16
use Spiral\Exceptions\Style\ConsoleStyle;
17
use Spiral\Exceptions\Style\HtmlStyle;
18
use Spiral\Exceptions\Style\PlainStyle;
19
20
class HighlighterTest extends TestCase
21
{
22
    public function testPlainHighlighter(): void
23
    {
24
        $highlighter = new Highlighter(new PlainStyle());
25
26
        $this->assertStringContainsString('HighlighterTest', $highlighter->highlight(file_get_contents(__FILE__)));
27
    }
28
29
    public function testHtmlHighlighter(): void
30
    {
31
        $highlighter = new Highlighter(new HtmlStyle(HtmlStyle::DEFAULT));
32
33
        $this->assertStringContainsString('HighlighterTest', $highlighter->highlight(file_get_contents(__FILE__)));
34
    }
35
36
    public function testInvertedHtmlHighlighter(): void
37
    {
38
        $highlighter = new Highlighter(new HtmlStyle(HtmlStyle::INVERTED));
39
40
        $this->assertStringContainsString('HighlighterTest', $highlighter->highlight(file_get_contents(__FILE__)));
41
    }
42
43
    public function testConsoleHighlighter(): void
44
    {
45
        $highlighter = new Highlighter(new ConsoleStyle());
46
47
        $this->assertStringContainsString('HighlighterTest', $highlighter->highlight(file_get_contents(__FILE__)));
48
    }
49
50
    public function testPlainHighlighterLines(): void
51
    {
52
        $highlighter = new Highlighter(new PlainStyle());
53
54
        $this->assertStringContainsString(
55
            'HighlighterTest',
56
            $highlighter->highlightLines(file_get_contents(__FILE__), 17)
57
        );
58
    }
59
60
    public function testHtmlHighlighterLines(): void
61
    {
62
        $highlighter = new Highlighter(new HtmlStyle(HtmlStyle::DEFAULT));
63
64
        $this->assertStringContainsString(
65
            'HighlighterTest',
66
            $highlighter->highlightLines(file_get_contents(__FILE__), 17)
67
        );
68
    }
69
70
    public function testInvertedHtmlHighlighterLines(): void
71
    {
72
        $highlighter = new Highlighter(new HtmlStyle(HtmlStyle::INVERTED));
73
74
        $this->assertStringContainsString(
75
            'HighlighterTest',
76
            $highlighter->highlightLines(file_get_contents(__FILE__), 17)
77
        );
78
    }
79
80
    public function testConsoleHighlighterLines(): void
81
    {
82
        $highlighter = new Highlighter(new ConsoleStyle());
83
84
        $this->assertStringContainsString(
85
            'HighlighterTest',
86
            $highlighter->highlightLines(file_get_contents(__FILE__), 17)
87
        );
88
    }
89
90
    public function testCountLines(): void
91
    {
92
        $highlighter = new Highlighter(new PlainStyle());
93
94
        $this->assertCount(
95
            1,
96
            explode("\n", trim($highlighter->highlightLines(file_get_contents(__FILE__), 0, 1), "\n"))
97
        );
98
99
        $this->assertCount(
100
            2,
101
            explode("\n", trim($highlighter->highlightLines(file_get_contents(__FILE__), 1, 1), "\n"))
102
        );
103
104
        $this->assertCount(
105
            3,
106
            explode("\n", trim($highlighter->highlightLines(file_get_contents(__FILE__), 2, 1), "\n"))
107
        );
108
    }
109
}
110