Vous êtes connecté en tant que anonymous Se Deconnecter
vendor/windwalker/renderer/Test/BladeRendererTest.php
4f5a31d2
 <?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.'
         );
     }
 }