Blame | Last modification | View Log | RSS feed
<?php/*** MediaViewTest file** CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html>* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)** Licensed under The MIT License* For full copyright and license information, please see the LICENSE.txt* Redistributions of files must retain the above copyright notice** @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)* @link http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests* @package Cake.Test.Case.View* @since CakePHP(tm) v 1.2.0.4206* @license http://www.opensource.org/licenses/mit-license.php MIT License*/App::uses('Controller', 'Controller');App::uses('MediaView', 'View');App::uses('CakeResponse', 'Network');/*** MediaViewTest class** @package Cake.Test.Case.View*/class MediaViewTest extends CakeTestCase {/*** setUp method** @return void*/public function setUp() {parent::setUp();$this->MediaView = new MediaView();$this->MediaView->response = $this->getMock('CakeResponse', array('cache','type','disableCache','file','send','compress',));}/*** tearDown method** @return void*/public function tearDown() {parent::tearDown();unset($this->MediaView);}/*** testRender method** @return void*/public function testRender() {$vars = array('path' => CAKE . 'Test' . DS . 'test_app' . DS . 'Vendor' . DS . 'css' . DS,'id' => 'test_asset.css');$this->MediaView->viewVars = $vars;$this->MediaView->response->expects($this->once())->method('disableCache');$this->MediaView->response->expects($this->once())->method('file')->with($vars['path'] . $vars['id'],array('name' => null, 'download' => null));$this->MediaView->response->expects($this->once())->method('send');$this->MediaView->render();}/*** Test render() when caching is on.** @return void*/public function testRenderCachingAndName() {$vars = array('path' => CAKE . 'Test' . DS . 'test_app' . DS . 'Vendor' . DS . 'css' . DS,'id' => 'test_asset.css','cache' => '+1 day','name' => 'something_special','download' => true,);$this->MediaView->viewVars = $vars;$this->MediaView->response->expects($this->never())->method('disableCache');$this->MediaView->response->expects($this->once())->method('cache')->with($this->anything(), $vars['cache']);$this->MediaView->response->expects($this->once())->method('file')->with($vars['path'] . $vars['id'],array('name' => 'something_special.css','download' => true));$this->MediaView->response->expects($this->once())->method('send');$this->MediaView->render();}/*** Test downloading files with UPPERCASE extensions.** @return void*/public function testRenderUpperExtension() {$this->MediaView->viewVars = array('path' => CAKE . 'Test' . DS . 'test_app' . DS . 'Vendor' . DS . 'img' . DS,'id' => 'test_2.JPG');$this->MediaView->response->expects($this->any())->method('type')->with('jpg')->will($this->returnArgument(0));$this->MediaView->response->expects($this->at(0))->method('send')->will($this->returnValue(true));$this->MediaView->render();}}