Completed
Push — master ( 03e47f...db33ac )
by WEBEWEB
06:42 queued 01:35
created

FormRendererTest::testRender()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
c 3
b 0
f 0
dl 0
loc 27
rs 8.8571
cc 1
eloc 21
nc 1
nop 0
1
<?php
2
3
/**
4
 * This file is part of the core-library package.
5
 *
6
 * (c) 2017 NdC/WBW
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Library\Core\Tests\Form\Renderer;
13
14
use PHPUnit_Framework_TestCase;
15
use WBW\Library\Core\Form\Renderer\ChoiceRendererInterface;
16
use WBW\Library\Core\Form\Renderer\FormRenderer;
17
use WBW\Library\Core\Form\Renderer\FormRendererInterface;
18
use WBW\Library\Core\Form\Renderer\TranslatedChoiceRendererInterface;
19
use WBW\Library\Core\Form\Renderer\TranslateFormRendererInterface;
20
use WBW\Library\Core\Sort\Tree\Alphabetical\AlphabeticalTreeSortInterface;
21
22
/**
23
 * Form renderer test.
24
 *
25
 * @author NdC/WBW <https://github.com/webeweb/>
26
 * @package WBW\Library\Core\Tests\Form\Renderer
27
 * @final
28
 */
29
final class FormRendererTest extends PHPUnit_Framework_TestCase {
30
31
	/**
32
	 * Tests the render() method.
33
	 *
34
	 * @return void
35
	 */
36
	public function testRender() {
37
38
		$obj = [
39
			null,
40
			$this->getMockBuilder(AlphabeticalTreeSortInterface::class)->getMock(),
41
			$this->getMockBuilder(ChoiceRendererInterface::class)->getMock(),
42
			$this->getMockBuilder(TranslatedChoiceRendererInterface::class)->getMock(),
43
			$this->getMockBuilder(FormRendererInterface::class)->getMock(), // deprecated
44
			$this->getMockBuilder(TranslateFormRendererInterface::class)->getMock(), // deprecated
45
			$this,
46
		];
47
48
		// Set the mocks.
49
		$obj[1]->expects($this->any())->method("getAlphabeticalTreeSortParent")->willReturn(null);
50
		$obj[2]->expects($this->any())->method("getChoiceLabel")->willReturn("choiceLabel");
51
		$obj[3]->expects($this->any())->method("getTranslatedChoiceLabel")->willReturn("translatedChoiceLabel");
52
		$obj[4]->expects($this->any())->method("getChoiceLabel")->willReturn("choiceLabel");
53
		$obj[5]->expects($this->any())->method("getChoiceLabel")->willReturn("choiceLabel");
54
55
		$this->assertEquals("Empty selection", FormRenderer::render($obj[0]));
56
		$this->assertEquals("├ FormRendererInterface not implemented by this object", FormRenderer::render($obj[1]));
57
		$this->assertEquals("choiceLabel", FormRenderer::render($obj[2]));
58
		$this->assertEquals("translatedChoiceLabel", FormRenderer::render($obj[3]));
59
		$this->assertEquals("choiceLabel", FormRenderer::render($obj[4]));
60
		$this->assertEquals("choiceLabel", FormRenderer::render($obj[5]));
61
		$this->assertEquals("FormRendererInterface not implemented by this object", FormRenderer::render($obj[6]));
62
	}
63
64
}
65