Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/jasny/twig-extensions/tests/support/TestHelper.php
<?php

namespace Jasny\Twig;

/**
 * Helper methods for unit tests
 */
trait TestHelper
{
   
/**
     * Get the tested extension
     *
     * @return \Twig_Extension
     */
   
abstract protected function getExtension();
   
   
/**
     * Build the Twig environment for the template
     *
     * @param string $template
     * @return \Twig_Environment
     */
   
protected function buildEnv($template)
    {
       
$loader = new \Twig_Loader_Array([
           
'template' => $template,
        ]);
       
$twig = new \Twig_Environment($loader);
       
       
$twig->addExtension($this->getExtension());
       
        return
$twig;
    }
   
   
/**
     * Render template
     *
     * @param string $template
     * @param array $data
     * @return string
     */
   
protected function render($template, array $data = [])
    {
       
$twig = $this->buildEnv($template);
       
$result = $twig->render('template', $data);
       
        return
$result;
    }
   
   
/**
     * Render template and assert equals
     *
     * @param string $expected
     * @param string $template
     * @param array  $data
     */
   
protected function assertRender($expected, $template, array $data = [])
    {
       
$result = $this->render($template, $data);
       
       
$this->assertEquals($expected, (string)$result);
    }
}