| Current File : /home/jvzmxxx/wiki1/extensions/Wikibase/view/tests/phpunit/Template/TemplateFactoryTest.php |
<?php
namespace Wikibase\View\Tests\Template;
use PHPUnit_Framework_TestCase;
use Wikibase\View\Template\TemplateFactory;
use Wikibase\View\Template\TemplateRegistry;
/**
* @covers Wikibase\View\Template\TemplateFactory
*
* @uses Wikibase\View\Template\Template
* @uses Wikibase\View\Template\TemplateRegistry
*
* @group Wikibase
* @group WikibaseView
*
* @license GPL-2.0+
* @author Thiemo Mättig
*/
class TemplateFactoryTest extends PHPUnit_Framework_TestCase {
private function newInstance() {
return new TemplateFactory( new TemplateRegistry( array(
'basic' => '$1',
) ) );
}
public function testGetDefaultInstance() {
$instance = TemplateFactory::getDefaultInstance();
$this->assertInstanceOf( TemplateFactory::class, $instance );
}
public function testGetTemplates() {
$templates = $this->newInstance()->getTemplates();
$this->assertSame( array( 'basic' => '$1' ), $templates );
}
public function testGet() {
$template = $this->newInstance()->get( 'basic', array( '<PARAM>' ) );
$this->assertSame( 'basic', $template->getKey() );
$this->assertSame( array( '<PARAM>' ), $template->getParams() );
$this->assertSame( '<PARAM>', $template->plain() );
}
/**
* @dataProvider renderParamsProvider
*/
public function testRender( $params, $expected ) {
$rendered = $this->newInstance()->render( 'basic', $params );
$this->assertSame( $expected, $rendered );
}
public function renderParamsProvider() {
return array(
array( '<PARAM>', '<PARAM>' ),
array( array(), '$1' ),
array( array( '<PARAM>' ), '<PARAM>' ),
array( array( '<PARAM>', 'ignored' ), '<PARAM>' ),
);
}
}