Passed
Push — master ( f02495...4136df )
by Alexander
01:44
created

ProgressTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 61
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 39
dl 0
loc 61
rs 10
c 1
b 0
f 0
wmc 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Yii\Bootstrap4\Tests;
6
7
use Yiisoft\Yii\Bootstrap4\Progress;
8
9
/**
10
 * Tests for Progress widget.
11
 *
12
 * ProgressTest.
13
 */
14
final class ProgressTest extends TestCase
15
{
16
    public function testSimpleRender(): void
17
    {
18
        Progress::counter(0);
19
20
        $html = Progress::widget()
21
            ->label('Progress')
22
            ->percent('25')
23
            ->barOptions(['class' => 'bg-warning'])
24
            ->render();
25
26
        $expected = <<<HTML
27
<div id="w0-progress" class="progress">
28
<div class="bg-warning progress-bar" role="progressbar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100" style="width: 25%;">Progress</div>
29
</div>
30
HTML;
31
32
        $this->assertEqualsWithoutLE($expected, $html);
33
    }
34
35
    public function testRender(): void
36
    {
37
        Progress::counter(0);
38
39
        $html = Progress::widget()
40
            ->bars([
41
                ['label' => 'Progress', 'percent' => '25']
42
            ])
43
            ->render();
44
45
        $expected = <<<HTML
46
<div id="w0-progress" class="progress">
47
<div class="progress-bar" role="progressbar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100" style="width: 25%;">Progress</div>
48
</div>
49
HTML;
50
51
        $this->assertEqualsWithoutLE($expected, $html);
52
    }
53
54
    public function testMultiple(): void
55
    {
56
        Progress::counter(0);
57
58
        $html = Progress::widget()
59
            ->bars([
60
                ['label' => '', 'percent' => '15'],
61
                ['label' => '', 'percent' => '30', 'options' => ['class' => ['bg-success']]],
62
                ['label' => '', 'percent' => '20', 'options' => ['class' => ['bg-info']]]
63
            ])
64
            ->render();
65
66
        $expected = <<<HTML
67
<div id="w0-progress" class="progress">
68
<div class="progress-bar" role="progressbar" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100" style="width: 15%;"></div>
69
<div class="bg-success progress-bar" role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="width: 30%;"></div>
70
<div class="bg-info progress-bar" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 20%;"></div>
71
</div>
72
HTML;
73
74
        $this->assertEqualsWithoutLE($expected, $html);
75
    }
76
}
77