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',
							 | 
						||
| 
								 | 
							
										]);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								} 
							 |