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