pictcode / lib / Cake / Test / Case / View / MediaViewTest.php @ 0b1b8047
履歴 | 表示 | アノテート | ダウンロード (3.065 KB)
1 |
<?php
|
---|---|
2 |
/**
|
3 |
* MediaViewTest file
|
4 |
*
|
5 |
* CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html>
|
6 |
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
7 |
*
|
8 |
* Licensed under The MIT License
|
9 |
* For full copyright and license information, please see the LICENSE.txt
|
10 |
* Redistributions of files must retain the above copyright notice
|
11 |
*
|
12 |
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
13 |
* @link http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests
|
14 |
* @package Cake.Test.Case.View
|
15 |
* @since CakePHP(tm) v 1.2.0.4206
|
16 |
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
17 |
*/
|
18 |
|
19 |
App::uses('Controller', 'Controller'); |
20 |
App::uses('MediaView', 'View'); |
21 |
App::uses('CakeResponse', 'Network'); |
22 |
|
23 |
/**
|
24 |
* MediaViewTest class
|
25 |
*
|
26 |
* @package Cake.Test.Case.View
|
27 |
*/
|
28 |
class MediaViewTest extends CakeTestCase { |
29 |
|
30 |
/**
|
31 |
* setUp method
|
32 |
*
|
33 |
* @return void
|
34 |
*/
|
35 |
public function setUp() { |
36 |
parent::setUp();
|
37 |
$this->MediaView = new MediaView(); |
38 |
$this->MediaView->response = $this->getMock('CakeResponse', array( |
39 |
'cache',
|
40 |
'type',
|
41 |
'disableCache',
|
42 |
'file',
|
43 |
'send',
|
44 |
'compress',
|
45 |
)); |
46 |
} |
47 |
|
48 |
/**
|
49 |
* tearDown method
|
50 |
*
|
51 |
* @return void
|
52 |
*/
|
53 |
public function tearDown() { |
54 |
parent::tearDown();
|
55 |
unset($this->MediaView); |
56 |
} |
57 |
|
58 |
/**
|
59 |
* testRender method
|
60 |
*
|
61 |
* @return void
|
62 |
*/
|
63 |
public function testRender() { |
64 |
$vars = array( |
65 |
'path' => CAKE . 'Test' . DS . 'test_app' . DS . 'Vendor' . DS . 'css' . DS, |
66 |
'id' => 'test_asset.css' |
67 |
); |
68 |
$this->MediaView->viewVars = $vars; |
69 |
|
70 |
$this->MediaView->response->expects($this->once()) |
71 |
->method('disableCache');
|
72 |
|
73 |
$this->MediaView->response->expects($this->once()) |
74 |
->method('file')
|
75 |
->with( |
76 |
$vars['path'] . $vars['id'], |
77 |
array('name' => null, 'download' => null) |
78 |
); |
79 |
|
80 |
$this->MediaView->render(); |
81 |
} |
82 |
|
83 |
/**
|
84 |
* Test render() when caching is on.
|
85 |
*
|
86 |
* @return void
|
87 |
*/
|
88 |
public function testRenderCachingAndName() { |
89 |
$vars = array( |
90 |
'path' => CAKE . 'Test' . DS . 'test_app' . DS . 'Vendor' . DS . 'css' . DS, |
91 |
'id' => 'test_asset.css', |
92 |
'cache' => '+1 day', |
93 |
'name' => 'something_special', |
94 |
'download' => true, |
95 |
); |
96 |
$this->MediaView->viewVars = $vars; |
97 |
|
98 |
$this->MediaView->response->expects($this->never()) |
99 |
->method('disableCache');
|
100 |
|
101 |
$this->MediaView->response->expects($this->once()) |
102 |
->method('cache')
|
103 |
->with($this->anything(), $vars['cache']); |
104 |
|
105 |
$this->MediaView->response->expects($this->once()) |
106 |
->method('file')
|
107 |
->with( |
108 |
$vars['path'] . $vars['id'], |
109 |
array(
|
110 |
'name' => 'something_special.css', |
111 |
'download' => true |
112 |
) |
113 |
); |
114 |
|
115 |
$this->MediaView->render(); |
116 |
} |
117 |
|
118 |
/**
|
119 |
* Test downloading files with UPPERCASE extensions.
|
120 |
*
|
121 |
* @return void
|
122 |
*/
|
123 |
public function testRenderUpperExtension() { |
124 |
$this->MediaView->viewVars = array( |
125 |
'path' => CAKE . 'Test' . DS . 'test_app' . DS . 'Vendor' . DS . 'img' . DS, |
126 |
'id' => 'test_2.JPG' |
127 |
); |
128 |
|
129 |
$this->MediaView->response->expects($this->any()) |
130 |
->method('type')
|
131 |
->with('jpg')
|
132 |
->will($this->returnArgument(0)); |
133 |
|
134 |
$this->MediaView->render(); |
135 |
} |
136 |
|
137 |
} |