Completed
Pull Request — 5.3.0-dev (#2492)
by Jeroen
11:49
created

TemplateModifiersTest::testTruncate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 50
Code Lines 30

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 30
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 30
nc 1
nop 0
dl 0
loc 50
rs 9.3333
c 0
b 0
f 0
ccs 30
cts 30
cp 1
crap 1
1
<?php
2
3
namespace Frontend\Core\Tests\Engine;
4
5
use Frontend\Core\Engine\Model as FrontendModel;
6
use Frontend\Core\Engine\TemplateModifiers;
7
use PHPUnit\Framework\TestCase;
8
9
class TemplateModifiersTest extends TestCase
10
{
11 1
    public function testFormatFloat(): void
12
    {
13 1
        self::assertEquals(
14 1
            '1.2344',
15 1
            TemplateModifiers::formatFloat(1.2344, 4)
16
        );
17
18 1
        self::assertEquals(
19 1
            '1.234',
20 1
            TemplateModifiers::formatFloat(1.2344, 3)
21
        );
22
23 1
        self::assertEquals(
24 1
            '1',
25 1
            TemplateModifiers::formatFloat(1.2344, 0)
26
        );
27 1
    }
28
29 1
    public function testStripNewlines(): void
30
    {
31 1
        self::assertEquals(
32 1
            'Foo Bar',
33 1
            TemplateModifiers::stripNewlines("Foo\nBar")
34
        );
35
36 1
        self::assertEquals(
37 1
            'Foo Bar',
38 1
            TemplateModifiers::stripNewlines("Foo\rBar")
39
        );
40
41 1
        self::assertEquals(
42 1
            'Foo Bar',
43 1
            TemplateModifiers::stripNewlines("Foo\r\nBar")
44
        );
45 1
    }
46
47 1
    public function testTruncate(): void
48
    {
49
        $containerMock = $this
50 1
            ->getMockBuilder('Symfony\Component\DependencyInjection\ContainerInterface')
51 1
            ->disableOriginalConstructor()
52 1
            ->getMock()
53
        ;
54
55 1
        $containerMock->expects(self::any())
56 1
            ->method('getParameter')
57 1
            ->with('kernel.charset')
58 1
            ->will(self::returnValue('UTF-8'))
59
        ;
60
61 1
        FrontendModel::setContainer($containerMock);
62
63 1
        self::assertEquals(
64 1
            TemplateModifiers::truncate('foo bar baz qux', 3, false, true),
65 1
            'foo'
66
        );
67
68 1
        self::assertEquals(
69 1
            TemplateModifiers::truncate('foo bar baz qux', 4, false, true),
70 1
            'foo'
71
        );
72
73 1
        self::assertEquals(
74 1
            TemplateModifiers::truncate('foo bar baz qux', 8, false, true),
75 1
            'foo bar'
76
        );
77
78 1
        self::assertEquals(
79 1
            TemplateModifiers::truncate('foo bar baz qux', 100, false, true),
80 1
            'foo bar baz qux'
81
        );
82
83
        // Hellip
84 1
        self::assertEquals(
85 1
            TemplateModifiers::truncate('foo bar baz qux', 5, true, true),
86 1
            'foo…'
87
        );
88
89 1
        self::assertEquals(
90 1
            TemplateModifiers::truncate('foo bar baz qux', 14, true, true),
91 1
            'foo bar baz…'
92
        );
93
94 1
        self::assertEquals(
95 1
            TemplateModifiers::truncate('foo bar baz qux', 15, true, true),
96 1
            'foo bar baz qux'
97
        );
98 1
    }
99
}
100