Mercurial > hg > Members > shoshi > webvirt
comparison cake/tests/cases/libs/cache/apc.test.php @ 0:261e66bd5a0c
hg init
author | Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 24 Jul 2011 21:08:31 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:261e66bd5a0c |
---|---|
1 <?php | |
2 /** | |
3 * ApcEngineTest file | |
4 * | |
5 * PHP versions 4 and 5 | |
6 * | |
7 * CakePHP(tm) Tests <http://book.cakephp.org/view/1196/Testing> | |
8 * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org) | |
9 * | |
10 * Licensed under The Open Group Test Suite License | |
11 * Redistributions of files must retain the above copyright notice. | |
12 * | |
13 * @copyright Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org) | |
14 * @link http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests | |
15 * @package cake | |
16 * @subpackage cake.tests.cases.libs.cache | |
17 * @since CakePHP(tm) v 1.2.0.5434 | |
18 * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License | |
19 */ | |
20 if (!class_exists('Cache')) { | |
21 require LIBS . 'cache.php'; | |
22 } | |
23 | |
24 /** | |
25 * ApcEngineTest class | |
26 * | |
27 * @package cake | |
28 * @subpackage cake.tests.cases.libs.cache | |
29 */ | |
30 class ApcEngineTest extends CakeTestCase { | |
31 | |
32 /** | |
33 * skip method | |
34 * | |
35 * @access public | |
36 * @return void | |
37 */ | |
38 function skip() { | |
39 $skip = true; | |
40 if (function_exists('apc_store')) { | |
41 $skip = false; | |
42 } | |
43 $this->skipIf($skip, '%s Apc is not installed or configured properly'); | |
44 } | |
45 | |
46 /** | |
47 * setUp method | |
48 * | |
49 * @access public | |
50 * @return void | |
51 */ | |
52 function setUp() { | |
53 $this->_cacheDisable = Configure::read('Cache.disable'); | |
54 Configure::write('Cache.disable', false); | |
55 Cache::config('apc', array('engine' => 'Apc', 'prefix' => 'cake_')); | |
56 } | |
57 | |
58 /** | |
59 * tearDown method | |
60 * | |
61 * @access public | |
62 * @return void | |
63 */ | |
64 function tearDown() { | |
65 Configure::write('Cache.disable', $this->_cacheDisable); | |
66 Cache::drop('apc'); | |
67 Cache::config('default'); | |
68 } | |
69 | |
70 /** | |
71 * testReadAndWriteCache method | |
72 * | |
73 * @access public | |
74 * @return void | |
75 */ | |
76 function testReadAndWriteCache() { | |
77 Cache::set(array('duration' => 1)); | |
78 | |
79 $result = Cache::read('test'); | |
80 $expecting = ''; | |
81 $this->assertEqual($result, $expecting); | |
82 | |
83 $data = 'this is a test of the emergency broadcasting system'; | |
84 $result = Cache::write('test', $data); | |
85 $this->assertTrue($result); | |
86 | |
87 $result = Cache::read('test'); | |
88 $expecting = $data; | |
89 $this->assertEqual($result, $expecting); | |
90 | |
91 Cache::delete('test'); | |
92 } | |
93 | |
94 /** | |
95 * testExpiry method | |
96 * | |
97 * @access public | |
98 * @return void | |
99 */ | |
100 function testExpiry() { | |
101 Cache::set(array('duration' => 1)); | |
102 | |
103 $result = Cache::read('test'); | |
104 $this->assertFalse($result); | |
105 | |
106 $data = 'this is a test of the emergency broadcasting system'; | |
107 $result = Cache::write('other_test', $data); | |
108 $this->assertTrue($result); | |
109 | |
110 sleep(2); | |
111 $result = Cache::read('other_test'); | |
112 $this->assertFalse($result); | |
113 | |
114 Cache::set(array('duration' => 1)); | |
115 | |
116 $data = 'this is a test of the emergency broadcasting system'; | |
117 $result = Cache::write('other_test', $data); | |
118 $this->assertTrue($result); | |
119 | |
120 sleep(2); | |
121 $result = Cache::read('other_test'); | |
122 $this->assertFalse($result); | |
123 | |
124 sleep(2); | |
125 $result = Cache::read('other_test'); | |
126 $this->assertFalse($result); | |
127 } | |
128 | |
129 /** | |
130 * testDeleteCache method | |
131 * | |
132 * @access public | |
133 * @return void | |
134 */ | |
135 function testDeleteCache() { | |
136 $data = 'this is a test of the emergency broadcasting system'; | |
137 $result = Cache::write('delete_test', $data); | |
138 $this->assertTrue($result); | |
139 | |
140 $result = Cache::delete('delete_test'); | |
141 $this->assertTrue($result); | |
142 } | |
143 | |
144 /** | |
145 * testDecrement method | |
146 * | |
147 * @access public | |
148 * @return void | |
149 */ | |
150 function testDecrement() { | |
151 if ($this->skipIf(!function_exists('apc_dec'), 'No apc_dec() function, cannot test decrement() %s')) { | |
152 return; | |
153 } | |
154 $result = Cache::write('test_decrement', 5); | |
155 $this->assertTrue($result); | |
156 | |
157 $result = Cache::decrement('test_decrement'); | |
158 $this->assertEqual(4, $result); | |
159 | |
160 $result = Cache::read('test_decrement'); | |
161 $this->assertEqual(4, $result); | |
162 | |
163 $result = Cache::decrement('test_decrement', 2); | |
164 $this->assertEqual(2, $result); | |
165 | |
166 $result = Cache::read('test_decrement'); | |
167 $this->assertEqual(2, $result); | |
168 | |
169 } | |
170 | |
171 /** | |
172 * testIncrement method | |
173 * | |
174 * @access public | |
175 * @return void | |
176 */ | |
177 function testIncrement() { | |
178 if ($this->skipIf(!function_exists('apc_inc'), 'No apc_inc() function, cannot test increment() %s')) { | |
179 return; | |
180 } | |
181 $result = Cache::write('test_increment', 5); | |
182 $this->assertTrue($result); | |
183 | |
184 $result = Cache::increment('test_increment'); | |
185 $this->assertEqual(6, $result); | |
186 | |
187 $result = Cache::read('test_increment'); | |
188 $this->assertEqual(6, $result); | |
189 | |
190 $result = Cache::increment('test_increment', 2); | |
191 $this->assertEqual(8, $result); | |
192 | |
193 $result = Cache::read('test_increment'); | |
194 $this->assertEqual(8, $result); | |
195 } | |
196 } |