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