Passed
Push — master ( 9dbeef...fdd166 )
by Petr
07:45
created

DefaultPagerTest::testMiddle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 4
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 6
rs 10
1
<?php
2
3
namespace BasicTests;
4
5
6
use CommonTestClass;
7
use kalanis\kw_paging\Render;
8
use MockLink;
9
10
11
class DefaultPagerTest extends CommonTestClass
12
{
13
    /**
14
     * @param Render\DefaultPager\CurrentPage|Render\DefaultPager\AnotherPage $class
15
     * @param int $page
16
     * @param string $code
17
     * @dataProvider simpleProvider
18
     */
19
    public function testPages($class, int $page, string $code): void
20
    {
21
        $link = new MockLink();
22
        $link->setPageNumber($page);
23
        $class->setData($link, $page);
24
        $this->assertEquals($code . PHP_EOL, $class->render());
25
    }
26
27
    public function simpleProvider()
28
    {
29
        return [
30
            [new Render\DefaultPager\CurrentPage(), 4, '<li class="active"><a href="/foo/bar/4">4</a></li>'],
31
            [new Render\DefaultPager\CurrentPage(), 1, '<li class="active"><a href="/foo/bar/">1</a></li>'],
32
            [new Render\DefaultPager\AnotherPage(), 4, '<li><a href="/foo/bar/4">4</a></li>'],
33
            [new Render\DefaultPager\AnotherPage(), 1, '<li><a href="/foo/bar/">1</a></li>'],
34
        ];
35
    }
36
37
    public function testInstance(): void
38
    {
39
        $position = $this->getPositions();
40
        $position->getPager()->setActualPage(4);
41
        $pager = new Render\DefaultPager($position, new MockLink());
42
        $this->assertInstanceOf('\kalanis\kw_pager\Interfaces\IPager', $pager->getPager());
43
    }
44
45
    public function testMiddle(): void
46
    {
47
        $position = $this->getPositions();
48
        $position->getPager()->setActualPage(4);
49
        $pager = new Render\DefaultPager($position, new MockLink());
50
        $this->assertNotEmpty(strval($pager));
51
    }
52
53
    public function testStart(): void
54
    {
55
        $position = $this->getPositions();
56
        $position->getPager()->setActualPage($position->getFirstPage());
57
        $pager = new Render\DefaultPager($position, new MockLink());
58
        $this->assertNotEmpty(strval($pager));
59
    }
60
61
    public function testEnd(): void
62
    {
63
        $position = $this->getPositions();
64
        $position->getPager()->setActualPage($position->getLastPage());
65
        $pager = new Render\DefaultPager($position, new MockLink());
66
        $this->assertNotEmpty(strval($pager));
67
    }
68
69
    public function testNothing(): void
70
    {
71
        $position = $this->getPositions();
72
        $position->getPager()->setMaxResults(10)->setActualPage($position->getFirstPage());
73
        $pager = new Render\DefaultPager($position, new MockLink());
74
        $this->assertEmpty(strval($pager));
75
    }
76
}
77