mirror of
https://gh.wpcy.net/https://github.com/rilustrisimo/freescout-support.git
synced 2026-04-29 14:32:36 +08:00
208 lines
5.1 KiB
PHP
208 lines
5.1 KiB
PHP
<?php declare(strict_types=1);
|
|
/**
|
|
* Part of Windwalker project Test files. @codingStandardsIgnoreStart
|
|
*
|
|
* @copyright Copyright (C) 2019 LYRASOFT Taiwan, Inc.
|
|
* @license LGPL-2.0-or-later
|
|
*/
|
|
|
|
namespace Windwalker\Renderer\Test;
|
|
|
|
use Windwalker\Dom\Test\AbstractDomTestCase;
|
|
use Windwalker\Renderer\Test\Stub\StubTwigExtension;
|
|
use Windwalker\Renderer\TwigRenderer;
|
|
|
|
/**
|
|
* Test class of TwigRenderer
|
|
*
|
|
* @since 2.0
|
|
*/
|
|
class TwigRendererTest extends AbstractDomTestCase
|
|
{
|
|
/**
|
|
* Property path.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected static $path;
|
|
|
|
/**
|
|
* Test instance.
|
|
*
|
|
* @var TwigRenderer
|
|
*/
|
|
protected $instance;
|
|
|
|
/**
|
|
* Sets up the fixture, for example, opens a network connection.
|
|
* This method is called before a test is executed.
|
|
*
|
|
* @return void
|
|
*/
|
|
protected function setUp(): void
|
|
{
|
|
static::$path = realpath(__DIR__ . '/Tmpl/twig');
|
|
|
|
if (!static::$path) {
|
|
throw new \RuntimeException('Path not exists');
|
|
}
|
|
|
|
$this->instance = new TwigRenderer(static::$path);
|
|
}
|
|
|
|
/**
|
|
* Tears down the fixture, for example, closes a network connection.
|
|
* This method is called after a test is executed.
|
|
*
|
|
* @return void
|
|
*/
|
|
protected function tearDown(): void
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Method to test render().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::render
|
|
*/
|
|
public function testRender()
|
|
{
|
|
$html = $this->instance->render('default');
|
|
|
|
$expect = <<<HTML
|
|
<div id="global">
|
|
<p> (_global/global) Lorem ipsum dolor sit amet</p>
|
|
<p> (default) Nulla sed libero sem. Praesent ac dignissim risus.</p>
|
|
<p> (foo/bar) Phasellus vitae bibendum neque, quis suscipit urna. Fusce eu odio ante.</p>
|
|
<p> (_global/global) Suspendisse finibus fermentum massa ut tempus. </p>
|
|
</div>
|
|
HTML;
|
|
|
|
$this->assertDomStringEqualsDomString($expect, $html);
|
|
}
|
|
|
|
/**
|
|
* Method to test render().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::render
|
|
*/
|
|
public function testRenderWithDotPath()
|
|
{
|
|
$this->instance->config->set('path_separator', '.');
|
|
|
|
$html = $this->instance->render('default_dot');
|
|
|
|
$expect = <<<HTML
|
|
<div id="global">
|
|
<p> (_global/global) Lorem ipsum dolor sit amet</p>
|
|
<p> (default) Nulla sed libero sem. Praesent ac dignissim risus.</p>
|
|
<p> (foo/bar) Phasellus vitae bibendum neque, quis suscipit urna. Fusce eu odio ante.</p>
|
|
<p> (_global/global) Suspendisse finibus fermentum massa ut tempus. </p>
|
|
</div>
|
|
HTML;
|
|
|
|
$this->assertDomStringEqualsDomString($expect, $html);
|
|
}
|
|
|
|
/**
|
|
* Method to test getLoader().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::getLoader
|
|
*/
|
|
public function testGetLoader()
|
|
{
|
|
$this->assertInstanceOf('Twig_Loader_Filesystem', $this->instance->getLoader());
|
|
}
|
|
|
|
/**
|
|
* Method to test setLoader().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::setLoader
|
|
* @TODO Implement testSetLoader().
|
|
*/
|
|
public function testSetLoader()
|
|
{
|
|
// Remove the following lines when you implement this test.
|
|
$this->markTestIncomplete(
|
|
'This test has not been implemented yet.'
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Method to test addExtension().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::addExtension
|
|
*/
|
|
public function testAddExtension()
|
|
{
|
|
$this->instance->addExtension(new StubTwigExtension());
|
|
|
|
$html = $this->instance->render('ext-test.twig');
|
|
|
|
$expect = <<<HTML
|
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
<p>Suspendisse finibus fermentum massa ut tempus. Sed in pulvinar dolor.</p>
|
|
<ul>
|
|
<li>peace</li>
|
|
<li>sakura</li>
|
|
<li>Iron Man</li>
|
|
</ul>
|
|
HTML;
|
|
|
|
$this->assertDomStringEqualsDomString($expect, $html);
|
|
}
|
|
|
|
/**
|
|
* Method to test setTwig().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::setTwig
|
|
* @TODO Implement testSetTwig().
|
|
*/
|
|
public function testSetTwig()
|
|
{
|
|
// Remove the following lines when you implement this test.
|
|
$this->markTestIncomplete(
|
|
'This test has not been implemented yet.'
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Method to test getDebugExtension().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::getDebugExtension
|
|
*/
|
|
public function testGetDebugExtension()
|
|
{
|
|
$this->assertInstanceOf('Twig_Extension_Debug', $this->instance->getDebugExtension());
|
|
}
|
|
|
|
/**
|
|
* Method to test setDebugExtension().
|
|
*
|
|
* @return void
|
|
*
|
|
* @covers \Windwalker\Renderer\TwigRenderer::setDebugExtension
|
|
* @TODO Implement testSetDebugExtension().
|
|
*/
|
|
public function testSetDebugExtension()
|
|
{
|
|
// Remove the following lines when you implement this test.
|
|
$this->markTestIncomplete(
|
|
'This test has not been implemented yet.'
|
|
);
|
|
}
|
|
}
|