You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					74 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					74 lines
				
				1.5 KiB
			| 
											12 years ago
										 | <?php
 | ||
|  | /**
 | ||
|  |  * 
 | ||
|  |  * 
 | ||
|  |  * @author Carsten Brandt <mail@cebe.cc>
 | ||
|  |  */
 | ||
|  | 
 | ||
|  | namespace yiiunit\extensions\twig;
 | ||
|  | 
 | ||
|  | 
 | ||
|  | use yii\web\AssetManager;
 | ||
|  | use yii\web\JqueryAsset;
 | ||
|  | use yii\web\View;
 | ||
|  | use Yii;
 | ||
|  | use yiiunit\TestCase;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @group twig
 | ||
|  |  */
 | ||
|  | class ViewRendererTest extends TestCase
 | ||
|  | {
 | ||
|  | 	protected function setUp()
 | ||
|  | 	{
 | ||
|  | 		$this->mockApplication();
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	/**
 | ||
|  | 	 * https://github.com/yiisoft/yii2/issues/1755
 | ||
|  | 	 */
 | ||
|  | 	public function testLayoutAssets()
 | ||
|  | 	{
 | ||
|  | 		$view = $this->mockView();
 | ||
|  | 		JqueryAsset::register($view);
 | ||
|  | 		$content = $view->renderFile('@yiiunit/extensions/twig/views/layout.twig');
 | ||
|  | 
 | ||
|  | 		$this->assertEquals(1, preg_match('#<script src="/assets/[0-9a-z]+/jquery\\.js"></script>\s*</body>#', $content), 'content does not contain the jquery js:' . $content);
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	protected function mockView()
 | ||
|  | 	{
 | ||
|  | 		return new View([
 | ||
|  | 			'renderers' => [
 | ||
|  | 				'twig' => [
 | ||
|  | 					'class' => 'yii\twig\ViewRenderer',
 | ||
|  | 					//'cachePath' => '@runtime/Twig/cache',
 | ||
|  | 					'options' => [
 | ||
|  | 						'cache' => false
 | ||
|  | 					],
 | ||
|  | 					'globals' => [
 | ||
|  | 						'html' => '\yii\helpers\Html',
 | ||
|  | 						'pos_begin' => View::POS_BEGIN
 | ||
|  | 					],
 | ||
|  | 					'functions' => [
 | ||
|  | 						't' => '\Yii::t',
 | ||
|  | 						'json_encode' => '\yii\helpers\Json::encode'
 | ||
|  | 					]
 | ||
|  | 				],
 | ||
|  | 			],
 | ||
|  | 			'assetManager' => $this->mockAssetManager(),
 | ||
|  | 		]);
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	protected function mockAssetManager()
 | ||
|  | 	{
 | ||
|  | 		$assetDir = Yii::getAlias('@runtime/assets');
 | ||
|  | 		if (!is_dir($assetDir)) {
 | ||
|  | 			mkdir($assetDir, 0777, true);
 | ||
|  | 		}
 | ||
|  | 		return new AssetManager([
 | ||
|  | 			'basePath' => $assetDir,
 | ||
|  | 			'baseUrl' => '/assets',
 | ||
|  | 		]);
 | ||
|  | 	}
 | ||
|  | } 
 |