freescout-support/Modules/ApiWebhooks/vendor/windwalker/renderer/Test/BladeRendererTest.php
Rouie Ilustrisimo 309cac053a slack
2025-05-11 13:59:20 +08:00

301 lines
6.9 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 Illuminate\Contracts\View\Factory;
use Windwalker\Dom\Test\AbstractDomTestCase;
use Windwalker\Filesystem\Filesystem;
use Windwalker\Filesystem\Folder;
use Windwalker\Renderer\BladeRenderer;
/**
* Test class of BladeRenderer
*
* @since 2.0
*/
class BladeRendererTest extends AbstractDomTestCase
{
/**
* Test instance.
*
* @var BladeRenderer
*/
protected $instance;
/**
* Property path.
*
* @var string
*/
protected static $path;
/**
* 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/blade');
if (!static::$path) {
throw new \RuntimeException('Path not exists');
}
Folder::create(__DIR__ . '/cache');
$this->instance = new BladeRenderer(static::$path, ['cache_path' => __DIR__ . '/cache']);
}
/**
* 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
{
Filesystem::delete(__DIR__ . '/cache');
}
/**
* Destructor
*/
public function __destruct()
{
Filesystem::delete(__DIR__ . '/cache');
}
/**
* Method to test render().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::render
*/
public function testRender()
{
$html = $this->instance->render('hello');
$expect = <<<HTML
<html>
<body>
This is the master sidebar.
<p>This is appended to the master sidebar.</p>
<div class="container">
<p>This is my body content.</p>
</div>
</body>
</html>
HTML;
$this->assertHtmlFormatEquals($expect, $html);
}
/**
* testAddCompilers
*
* @return void
*/
public function testAddCompilers()
{
$this->instance->addCustomCompiler(
'upper',
function ($expression) {
return "<?php echo strtoupper({$expression}); ?>";
}
);
$expect = <<<HTML
<html>
<body>
This is the master sidebar.
<p>This is appended to the master sidebar.</p>
<div class="container">
<p>THIS IS MY BODY CONTENT.</p>
</div>
</body>
</html>
HTML;
$html = $this->instance->render('compiler');
$this->assertHtmlFormatEquals($expect, $html);
}
/**
* Method to test getBlade().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::getEngine
*/
public function testGetBlade()
{
$this->assertInstanceOf(Factory::class, $this->instance->getEngine());
}
/**
* Method to test setBlade().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::setEngine
* @TODO Implement testSetBlade().
*/
public function testSetBlade()
{
// Remove the following lines when you implement this test.
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
}
/**
* Method to test getFilesystem().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::getFilesystem
*/
public function testGetFilesystem()
{
$this->assertInstanceOf(\Illuminate\Filesystem\Filesystem::class, $this->instance->getFilesystem());
}
/**
* Method to test setFilesystem().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::setFilesystem
* @TODO Implement testSetFilesystem().
*/
public function testSetFilesystem()
{
// Remove the following lines when you implement this test.
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
}
/**
* Method to test getFinder().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::getFinder
*/
public function testGetFinder()
{
$this->assertInstanceOf('Illuminate\View\FileViewFinder', $this->instance->getFinder());
}
/**
* Method to test setFinder().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::setFinder
* @TODO Implement testSetFinder().
*/
public function testSetFinder()
{
// Remove the following lines when you implement this test.
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
}
/**
* Method to test getResolver().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::getResolver
*/
public function testGetResolver()
{
$this->assertInstanceOf('Illuminate\View\Engines\EngineResolver', $this->instance->getResolver());
}
/**
* Method to test setResolver().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::setResolver
*/
public function testSetResolver()
{
// Remove the following lines when you implement this test.
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
}
/**
* Method to test getDispatcher().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::getDispatcher
*/
public function testGetDispatcher()
{
$this->assertInstanceOf('Illuminate\Events\Dispatcher', $this->instance->getDispatcher());
}
/**
* Method to test setDispatcher().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::setDispatcher
* @TODO Implement testSetDispatcher().
*/
public function testSetDispatcher()
{
// Remove the following lines when you implement this test.
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
}
/**
* Method to test getCompiler().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::getCompiler
*/
public function testGetCompiler()
{
$this->assertInstanceOf('Illuminate\View\Engines\CompilerEngine', $this->instance->getCompiler());
}
/**
* Method to test setCompiler().
*
* @return void
*
* @covers \Windwalker\Renderer\BladeRenderer::setCompiler
* @TODO Implement testSetCompiler().
*/
public function testSetCompiler()
{
// Remove the following lines when you implement this test.
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
}
}