Completed
Pull Request — master (#226)
by Romaric
08:06
created

testRenderModifyingCssClasses()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 31
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 31
rs 8.8571
cc 1
eloc 14
nc 1
nop 0
1
<?php
2
3
namespace Pagerfanta\Tests\View;
4
5
use Pagerfanta\View\TwitterBootstrap4View;
6
7
class TwitterBootstrap4ViewTest extends TwitterBootstrapViewTest
8
{
9
    protected function createView()
10
    {
11
        return new TwitterBootstrap4View();
12
    }
13
14
    public function testRenderNormal()
15
    {
16
        $this->setNbPages(100);
17
        $this->setCurrentPage(10);
18
19
        $options = array();
20
21
        $this->assertRenderedView(<<<EOF
22
<ul class="pagination">
23
    <li class="page-item prev"><a class="page-link" href="|9|">&larr; Previous</a></li>
24
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
25
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
26
    <li class="page-item"><a class="page-link" href="|7|">7</a></li>
27
    <li class="page-item"><a class="page-link" href="|8|">8</a></li>
28
    <li class="page-item"><a class="page-link" href="|9|">9</a></li>
29
    <li class="page-item active"><span class="page-link">10 <span class="sr-only">(current)</span></span></li>
30
    <li class="page-item"><a class="page-link" href="|11|">11</a></li>
31
    <li class="page-item"><a class="page-link" href="|12|">12</a></li>
32
    <li class="page-item"><a class="page-link" href="|13|">13</a></li>
33
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
34
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
35
    <li class="page-item next"><a class="page-link" href="|11|">Next &rarr;</a></li>
36
</ul>
37
EOF
38
            , $this->renderView($options));
39
    }
40
41
    public function testRenderFirstPage()
42
    {
43
        $this->setNbPages(100);
44
        $this->setCurrentPage(1);
45
46
        $options = array();
47
48
        $this->assertRenderedView(<<<EOF
49
<ul class="pagination">
50
    <li class="page-item prev disabled"><span class="page-link">&larr; Previous</span></li>
51
    <li class="page-item active"><span class="page-link">1 <span class="sr-only">(current)</span></span></li>
52
    <li class="page-item"><a class="page-link" href="|2|">2</a></li>
53
    <li class="page-item"><a class="page-link" href="|3|">3</a></li>
54
    <li class="page-item"><a class="page-link" href="|4|">4</a></li>
55
    <li class="page-item"><a class="page-link" href="|5|">5</a></li>
56
    <li class="page-item"><a class="page-link" href="|6|">6</a></li>
57
    <li class="page-item"><a class="page-link" href="|7|">7</a></li>
58
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
59
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
60
    <li class="page-item next"><a class="page-link" href="|2|">Next &rarr;</a></li>
61
</ul>
62
EOF
63
            , $this->renderView($options));
64
    }
65
66
    public function testRenderLastPage()
67
    {
68
        $this->setNbPages(100);
69
        $this->setCurrentPage(100);
70
71
        $options = array();
72
73
        $this->assertRenderedView(<<<EOF
74
<ul class="pagination">
75
    <li class="page-item prev"><a class="page-link" href="|99|">&larr; Previous</a></li>
76
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
77
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
78
    <li class="page-item"><a class="page-link" href="|94|">94</a></li>
79
    <li class="page-item"><a class="page-link" href="|95|">95</a></li>
80
    <li class="page-item"><a class="page-link" href="|96|">96</a></li>
81
    <li class="page-item"><a class="page-link" href="|97|">97</a></li>
82
    <li class="page-item"><a class="page-link" href="|98|">98</a></li>
83
    <li class="page-item"><a class="page-link" href="|99|">99</a></li>
84
    <li class="page-item active"><span class="page-link">100 <span class="sr-only">(current)</span></span></li>
85
    <li class="page-item next disabled"><span class="page-link">Next &rarr;</span></li>
86
</ul>
87
EOF
88
            , $this->renderView($options));
89
    }
90
91
    public function testRenderWhenStartProximityIs2()
92
    {
93
        $this->setNbPages(100);
94
        $this->setCurrentPage(4);
95
96
        $options = array();
97
98
        $this->assertRenderedView(<<<EOF
99
<ul class="pagination">
100
    <li class="page-item prev"><a class="page-link" href="|3|">&larr; Previous</a></li>
101
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
102
    <li class="page-item"><a class="page-link" href="|2|">2</a></li>
103
    <li class="page-item"><a class="page-link" href="|3|">3</a></li>
104
    <li class="page-item active"><span class="page-link">4 <span class="sr-only">(current)</span></span></li>
105
    <li class="page-item"><a class="page-link" href="|5|">5</a></li>
106
    <li class="page-item"><a class="page-link" href="|6|">6</a></li>
107
    <li class="page-item"><a class="page-link" href="|7|">7</a></li>
108
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
109
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
110
    <li class="page-item next"><a class="page-link" href="|5|">Next &rarr;</a></li>
111
</ul>
112
EOF
113
            , $this->renderView($options));
114
    }
115
116
    public function testRenderWhenStartProximityIs3()
117
    {
118
        $this->setNbPages(100);
119
        $this->setCurrentPage(5);
120
121
        $options = array();
122
123
        $this->assertRenderedView(<<<EOF
124
<ul class="pagination">
125
    <li class="page-item prev"><a class="page-link" href="|4|">&larr; Previous</a></li>
126
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
127
    <li class="page-item"><a class="page-link" href="|2|">2</a></li>
128
    <li class="page-item"><a class="page-link" href="|3|">3</a></li>
129
    <li class="page-item"><a class="page-link" href="|4|">4</a></li>
130
    <li class="page-item active"><span class="page-link">5 <span class="sr-only">(current)</span></span></li>
131
    <li class="page-item"><a class="page-link" href="|6|">6</a></li>
132
    <li class="page-item"><a class="page-link" href="|7|">7</a></li>
133
    <li class="page-item"><a class="page-link" href="|8|">8</a></li>
134
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
135
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
136
    <li class="page-item next"><a class="page-link" href="|6|">Next &rarr;</a></li>
137
</ul>
138
EOF
139
            , $this->renderView($options));
140
    }
141
142
    public function testRenderWhenEndProximityIs2FromLast()
143
    {
144
        $this->setNbPages(100);
145
        $this->setCurrentPage(97);
146
147
        $options = array();
148
149
        $this->assertRenderedView(<<<EOF
150
<ul class="pagination">
151
    <li class="page-item prev"><a class="page-link" href="|96|">&larr; Previous</a></li>
152
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
153
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
154
    <li class="page-item"><a class="page-link" href="|94|">94</a></li>
155
    <li class="page-item"><a class="page-link" href="|95|">95</a></li>
156
    <li class="page-item"><a class="page-link" href="|96|">96</a></li>
157
    <li class="page-item active"><span class="page-link">97 <span class="sr-only">(current)</span></span></li>
158
    <li class="page-item"><a class="page-link" href="|98|">98</a></li>
159
    <li class="page-item"><a class="page-link" href="|99|">99</a></li>
160
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
161
    <li class="page-item next"><a class="page-link" href="|98|">Next &rarr;</a></li>
162
</ul>
163
EOF
164
            , $this->renderView($options));
165
    }
166
167
    public function testRenderWhenEndProximityIs3FromLast()
168
    {
169
        $this->setNbPages(100);
170
        $this->setCurrentPage(96);
171
172
        $options = array();
173
174
        $this->assertRenderedView(<<<EOF
175
<ul class="pagination">
176
    <li class="page-item prev"><a class="page-link" href="|95|">&larr; Previous</a></li>
177
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
178
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
179
    <li class="page-item"><a class="page-link" href="|93|">93</a></li>
180
    <li class="page-item"><a class="page-link" href="|94|">94</a></li>
181
    <li class="page-item"><a class="page-link" href="|95|">95</a></li>
182
    <li class="page-item active"><span class="page-link">96 <span class="sr-only">(current)</span></span></li>
183
    <li class="page-item"><a class="page-link" href="|97|">97</a></li>
184
    <li class="page-item"><a class="page-link" href="|98|">98</a></li>
185
    <li class="page-item"><a class="page-link" href="|99|">99</a></li>
186
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
187
    <li class="page-item next"><a class="page-link" href="|97|">Next &rarr;</a></li>
188
</ul>
189
EOF
190
            , $this->renderView($options));
191
    }
192
193
    public function testRenderModifyingProximity()
194
    {
195
        $this->setNbPages(100);
196
        $this->setCurrentPage(10);
197
198
        $options = array('proximity' => 2);
199
200
        $this->assertRenderedView(<<<EOF
201
<ul class="pagination">
202
    <li class="page-item prev"><a class="page-link" href="|9|">&larr; Previous</a></li>
203
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
204
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
205
    <li class="page-item"><a class="page-link" href="|8|">8</a></li>
206
    <li class="page-item"><a class="page-link" href="|9|">9</a></li>
207
    <li class="page-item active"><span class="page-link">10 <span class="sr-only">(current)</span></span></li>
208
    <li class="page-item"><a class="page-link" href="|11|">11</a></li>
209
    <li class="page-item"><a class="page-link" href="|12|">12</a></li>
210
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
211
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
212
    <li class="page-item next"><a class="page-link" href="|11|">Next &rarr;</a></li>
213
</ul>
214
EOF
215
            , $this->renderView($options));
216
    }
217
218
    public function testRenderModifyingPreviousAndNextMessages()
219
    {
220
        $this->setNbPages(100);
221
        $this->setCurrentPage(10);
222
223
        $options = array(
224
            'prev_message' => 'Anterior',
225
            'next_message' => 'Siguiente',
226
        );
227
228
        $this->assertRenderedView(<<<EOF
229
<ul class="pagination">
230
    <li class="page-item prev"><a class="page-link" href="|9|">Anterior</a></li>
231
    <li class="page-item"><a class="page-link" href="|1|">1</a></li>
232
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
233
    <li class="page-item"><a class="page-link" href="|7|">7</a></li>
234
    <li class="page-item"><a class="page-link" href="|8|">8</a></li>
235
    <li class="page-item"><a class="page-link" href="|9|">9</a></li>
236
    <li class="page-item active"><span class="page-link">10 <span class="sr-only">(current)</span></span></li>
237
    <li class="page-item"><a class="page-link" href="|11|">11</a></li>
238
    <li class="page-item"><a class="page-link" href="|12|">12</a></li>
239
    <li class="page-item"><a class="page-link" href="|13|">13</a></li>
240
    <li class="page-item disabled"><span class="page-link">&hellip;</span></li>
241
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
242
    <li class="page-item next"><a class="page-link" href="|11|">Siguiente</a></li>
243
</ul>
244
EOF
245
            , $this->renderView($options));
246
    }
247
248
    public function testRenderModifyingCssClasses()
249
    {
250
        $this->setNbPages(100);
251
        $this->setCurrentPage(1);
252
253
        $options = array(
254
            'css_container_class' => 'paginacion',
255
            'css_prev_class' => 'anterior',
256
            'css_next_class' => 'siguiente',
257
            'css_disabled_class' => 'deshabilitado',
258
            'css_dots_class' => 'puntos',
259
            'css_active_class' => 'activo',
260
        );
261
262
        $this->assertRenderedView(<<<EOF
263
<ul class="paginacion">
264
    <li class="page-item anterior deshabilitado"><span class="page-link">&larr; Previous</span></li>
265
    <li class="page-item activo"><span class="page-link">1 <span class="sr-only">(current)</span></span></li>
266
    <li class="page-item"><a class="page-link" href="|2|">2</a></li>
267
    <li class="page-item"><a class="page-link" href="|3|">3</a></li>
268
    <li class="page-item"><a class="page-link" href="|4|">4</a></li>
269
    <li class="page-item"><a class="page-link" href="|5|">5</a></li>
270
    <li class="page-item"><a class="page-link" href="|6|">6</a></li>
271
    <li class="page-item"><a class="page-link" href="|7|">7</a></li>
272
    <li class="page-item puntos"><span class="page-link">&hellip;</span></li>
273
    <li class="page-item"><a class="page-link" href="|100|">100</a></li>
274
    <li class="page-item siguiente"><a class="page-link" href="|2|">Next &rarr;</a></li>
275
</ul>
276
EOF
277
            , $this->renderView($options));
278
    }
279
}
280