LinkingPageRendererTest::testRenderPage()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 2
dl 0
loc 16
rs 9.7333
c 0
b 0
f 0
1
<?php
2
3
namespace Tests\Unit\SubPageList\Lister\UI\PageRenderer;
4
5
use PHPUnit\Framework\TestCase;
6
use SubPageList\Lister\Page;
7
use SubPageList\Lister\UI\PageRenderer\LinkingPageRenderer;
8
use Title;
9
10
/**
11
 * @covers \SubPageList\Lister\UI\PageRenderer\LinkingPageRenderer
12
 *
13
 * @group SubPageList
14
 *
15
 * @licence GNU GPL v2+
16
 * @author Jeroen De Dauw < [email protected] >
17
 */
18
class LinkingPageRendererTest extends TestCase {
19
20
	/**
21
	 * @dataProvider renderProvider
22
	 */
23
	public function testRenderPage( Page $page, $expected ) {
24
		$GLOBALS['wgNamespacesWithSubpages'][NS_MAIN] = true;
25
26
		$basicRenderer = $this->createMock( 'SubPageList\Lister\UI\PageRenderer\PageRenderer' );
27
28
		$basicRenderer->expects( $this->once() )
29
			->method( 'renderPage' )
30
			->with( $this->equalTo( $page ) )
31
			->will( $this->returnValue( 'Ohi' ) );
32
33
		$renderer = new LinkingPageRenderer( $basicRenderer );
34
35
		$actual = $renderer->renderPage( $page );
36
37
		$this->assertEquals( $expected, $actual );
38
	}
39
40
	public function renderProvider() {
41
		return [
42
			[
43
				new Page( Title::newFromText( 'AAA' ) ),
44
				'[[AAA|Ohi]]',
45
			],
46
			[
47
				new Page( Title::newFromText( 'AAA/BBB' ) ),
48
				'[[AAA/BBB|Ohi]]',
49
			],
50
			[
51
				new Page( Title::newFromText( 'Foo:Bar' ) ),
52
				'[[Foo:Bar|Ohi]]',
53
			],
54
			[
55
				new Page( Title::newFromText( 'Foo:Bar/Baz' ) ),
56
				'[[Foo:Bar/Baz|Ohi]]',
57
			],
58
		];
59
	}
60
61
}
62