PlainPageRendererTest::testRenderPage()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 3
dl 0
loc 9
rs 9.9666
c 0
b 0
f 0
1
<?php
2
3
namespace Tests\Unit\SubPageList\UI\PageRenderer;
4
5
use PHPUnit\Framework\TestCase;
6
use SubPageList\Lister\Page;
7
use SubPageList\Lister\UI\PageRenderer\PlainPageRenderer;
8
use Title;
9
10
/**
11
 * @covers \SubPageList\Lister\UI\PageRenderer\PlainPageRenderer
12
 *
13
 * @group SubPageList
14
 *
15
 * @licence GNU GPL v2+
16
 * @author Jeroen De Dauw < [email protected] >
17
 */
18
class PlainPageRendererTest extends TestCase {
19
20
	/**
21
	 * @dataProvider renderProvider
22
	 */
23
	public function testRenderPage( Page $page, $pathStyle, $expected ) {
24
		$GLOBALS['wgNamespacesWithSubpages'][NS_MAIN] = true;
25
26
		$renderer = new PlainPageRenderer( $pathStyle );
27
28
		$actual = $renderer->renderPage( $page );
29
30
		$this->assertEquals( $expected, $actual );
31
	}
32
33
	public function renderProvider() {
34
		return [
35
			[
36
				new Page( Title::newFromText( 'AAA' ) ),
37
				PlainPageRenderer::PATH_FULL,
38
				'AAA',
39
			],
40
			[
41
				new Page( Title::newFromText( 'AAA/BBB' ) ),
42
				PlainPageRenderer::PATH_FULL,
43
				'AAA/BBB',
44
			],
45
			[
46
				new Page( Title::newFromText( 'Foo:Bar' ) ),
47
				PlainPageRenderer::PATH_FULL,
48
				'Foo:Bar',
49
			],
50
			[
51
				new Page( Title::newFromText( 'Foo:Bar/Baz' ) ),
52
				PlainPageRenderer::PATH_FULL,
53
				'Foo:Bar/Baz',
54
			],
55
56
57
			[
58
				new Page( Title::newFromText( 'AAA' ) ),
59
				PlainPageRenderer::PATH_NONE,
60
				'AAA',
61
			],
62
			[
63
				new Page( Title::newFromText( 'AAA/BBB' ) ),
64
				PlainPageRenderer::PATH_NONE,
65
				'BBB',
66
			],
67
			[
68
				new Page( Title::newFromText( 'Foo:Bar' ) ),
69
				PlainPageRenderer::PATH_NONE,
70
				'Bar',
71
			],
72
			[
73
				new Page( Title::newFromText( 'Foo:Bar/Baz' ) ),
74
				PlainPageRenderer::PATH_NONE,
75
				'Baz',
76
			],
77
78
79
			[
80
				new Page( Title::newFromText( 'AAA' ) ),
81
				PlainPageRenderer::PATH_NO_NS,
82
				'AAA',
83
			],
84
			[
85
				new Page( Title::newFromText( 'AAA/BBB' ) ),
86
				PlainPageRenderer::PATH_FULL,
87
				'AAA/BBB',
88
			],
89
			[
90
				new Page( Title::newFromText( 'Foo:Bar' ) ),
91
				PlainPageRenderer::PATH_NO_NS,
92
				'Bar',
93
			],
94
			[
95
				new Page( Title::newFromText( 'Foo:Bar/Baz' ) ),
96
				PlainPageRenderer::PATH_NO_NS,
97
				'Bar/Baz',
98
			],
99
100
101
			[
102
				new Page( Title::newFromText( 'AAA' ) ),
103
				PlainPageRenderer::PATH_SUB_PAGE,
104
				'AAA',
105
			],
106
			[
107
				new Page( Title::newFromText( 'AAA/BBB' ) ),
108
				PlainPageRenderer::PATH_SUB_PAGE,
109
				'BBB',
110
			],
111
			[
112
				new Page( Title::newFromText( 'Foo:Bar' ) ),
113
				PlainPageRenderer::PATH_SUB_PAGE,
114
				'Foo:Bar',
115
			],
116
			[
117
				new Page( Title::newFromText( 'Foo:Bar/Baz' ) ),
118
				PlainPageRenderer::PATH_SUB_PAGE,
119
				'Baz',
120
			],
121
		];
122
	}
123
124
}
125