- Added namespace support finaly :-)
[activemongo.git] / tests / coverage / lib_ActiveMongo.php.html
blob0e32bc19d743631f2f860f29cc028d018997be70
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3 <html lang="en">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6 <title>ActiveMongo Tests</title>
7 <link rel="stylesheet" type="text/css" href="style.css">
8 <link rel="stylesheet" type="text/css" href="container.css">
9 <script type="text/javascript" src="yahoo-dom-event.js"></script>
10 <script type="text/javascript" src="container-min.js"></script>
11 </head>
13 <body class="yui-skin-sam">
14 <table width="100%" border="0" cellspacing="0" cellpadding="0">
15 <tr><td class="title">ActiveMongo Tests</td></tr>
16 <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
18 <tr>
19 <td width="100%">
20 <table cellpadding="1" border="0" width="100%">
21 <tr>
22 <td class="headerItem" width="20%">Current file:</td>
23 <td class="headerValue" width="80%"><a href="index.html">/home/crodas/projects/playground/ActiveMongo</a>/<a href="lib.html">lib</a>/<a href="lib_ActiveMongo.php.html">ActiveMongo.php</a></td>
24 </tr>
25 <tr>
26 <td class="legendItem" width="20%">Legend:</td>
27 <td class="legendValue" width="80%">
28 <span class="legendCov">executed</span>
29 <span class="legendNoCov">not executed</span>
30 <span class="legendDeadCode">dead code</span>
31 </td>
32 </tr>
33 </table>
34 </td>
35 </tr>
37 <tr>
38 <td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td>
39 </tr>
40 </table>
42 <br />
44 <center>
45 <table width="90%" cellpadding="2" cellspacing="1" border="0">
46 <tr>
47 <td class="tableHead" width="30%">&nbsp;</td>
48 <td class="tableHead" colspan="9">Coverage</td>
49 </tr>
50 <tr>
51 <td class="tableHead">&nbsp;</td>
52 <td class="tableHead" colspan="3">Classes</td>
53 <td class="tableHead" colspan="3">Functions / Methods</td>
54 <td class="tableHead" colspan="3">Lines</td>
55 </tr>
56 <tr>
57 <td class="coverItem">Total</td>
58 <td class="coverBar" align="center" width="100">
59 <table border="0" cellspacing="0" cellpadding="1">
60 <tr>
61 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
62 </tr>
63 </table>
64 </td>
65 <td class="coverPerLo">0.00%</td>
66 <td class="coverNumLo">0 / 1</td>
67 <td class="coverBar" align="center" width="100">
68 <table border="0" cellspacing="0" cellpadding="1">
69 <tr>
70 <td class="coverBarOutline"><img src="chameleon.png" width="75" height="10" alt="75.41%"><img src="snow.png" width="25" height="10" alt="75.41%"></td>
71 </tr>
72 </table>
73 </td>
74 <td class="coverPerHi">75.41%</td>
75 <td class="coverNumHi">46 / 61</td>
76 <td class="coverBar" align="center" width="100">
77 <table border="0" cellspacing="0" cellpadding="1">
78 <tr>
79 <td class="coverBarOutline"><img src="chameleon.png" width="95" height="10" alt="95.04%"><img src="snow.png" width="5" height="10" alt="95.04%"></td>
80 </tr>
81 </table>
82 </td>
83 <td class="coverPerHi">95.04%</td>
84 <td class="coverNumHi">748 / 787</td>
85 </tr>
87 <tr>
88 <td class="tableHead" colspan="10">&nbsp;</td>
89 </tr>
90 <tr>
91 <td class="coverItem"><b><a href="#76">ActiveMongo</a></b></td>
92 <td class="coverBar" align="center" width="100">
93 <table border="0" cellspacing="0" cellpadding="1">
94 <tr>
95 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
96 </tr>
97 </table>
98 </td>
99 <td class="coverPerLo">0.00%</td>
100 <td class="coverNumLo">0 / 1</td>
101 <td class="coverBar" align="center" width="100">
102 <table border="0" cellspacing="0" cellpadding="1">
103 <tr>
104 <td class="coverBarOutline"><img src="chameleon.png" width="75" height="10" alt="75.00%"><img src="snow.png" width="25" height="10" alt="75.00%"></td>
105 </tr>
106 </table>
107 </td>
108 <td class="coverPerHi">75.00%</td>
109 <td class="coverNumHi">45 / 60</td>
110 <td class="coverBar" align="center" width="100">
111 <table border="0" cellspacing="0" cellpadding="1">
112 <tr>
113 <td class="coverBarOutline"><img src="chameleon.png" width="95" height="10" alt="95.01%"><img src="snow.png" width="5" height="10" alt="95.01%"></td>
114 </tr>
115 </table>
116 </td>
117 <td class="coverPerHi">95.01%</td>
118 <td class="coverNumHi">743 / 782</td>
119 </tr>
121 <tr>
122 <td class="coverFile" colspan="4">&nbsp;<a href="#201">final static function setNameSpace($namespace)</a></td>
123 <td class="coverBar" align="center" width="100">
124 <table border="0" cellspacing="0" cellpadding="1">
125 <tr>
126 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
127 </tr>
128 </table>
129 </td>
130 <td class="coverPerHi">100.00%</td>
131 <td class="coverNumHi">1 / 1</td>
132 <td class="coverBar" align="center" width="100">
133 <table border="0" cellspacing="0" cellpadding="1">
134 <tr>
135 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
136 </tr>
137 </table>
138 </td>
139 <td class="coverPerHi">100.00%</td>
140 <td class="coverNumHi">2 / 2</td>
141 </tr>
143 <tr>
144 <td class="coverFile" colspan="4">&nbsp;<a href="#206">final public function collectionName()</a></td>
145 <td class="coverBar" align="center" width="100">
146 <table border="0" cellspacing="0" cellpadding="1">
147 <tr>
148 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
149 </tr>
150 </table>
151 </td>
152 <td class="coverPerHi">100.00%</td>
153 <td class="coverNumHi">1 / 1</td>
154 <td class="coverBar" align="center" width="100">
155 <table border="0" cellspacing="0" cellpadding="1">
156 <tr>
157 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
158 </tr>
159 </table>
160 </td>
161 <td class="coverPerHi">100.00%</td>
162 <td class="coverNumHi">9 / 9</td>
163 </tr>
165 <tr>
166 <td class="coverFile" colspan="4">&nbsp;<a href="#228">protected function getCollectionName()</a></td>
167 <td class="coverBar" align="center" width="100">
168 <table border="0" cellspacing="0" cellpadding="1">
169 <tr>
170 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
171 </tr>
172 </table>
173 </td>
174 <td class="coverPerHi">100.00%</td>
175 <td class="coverNumHi">1 / 1</td>
176 <td class="coverBar" align="center" width="100">
177 <table border="0" cellspacing="0" cellpadding="1">
178 <tr>
179 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
180 </tr>
181 </table>
182 </td>
183 <td class="coverPerHi">100.00%</td>
184 <td class="coverNumHi">3 / 3</td>
185 </tr>
187 <tr>
188 <td class="coverFile" colspan="4">&nbsp;<a href="#245">protected function getDatabaseName()</a></td>
189 <td class="coverBar" align="center" width="100">
190 <table border="0" cellspacing="0" cellpadding="1">
191 <tr>
192 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
193 </tr>
194 </table>
195 </td>
196 <td class="coverPerLo">0.00%</td>
197 <td class="coverNumLo">0 / 1</td>
198 <td class="coverBar" align="center" width="100">
199 <table border="0" cellspacing="0" cellpadding="1">
200 <tr>
201 <td class="coverBarOutline"><img src="butter.png" width="66" height="10" alt="66.67%"><img src="snow.png" width="34" height="10" alt="66.67%"></td>
202 </tr>
203 </table>
204 </td>
205 <td class="coverPerMed">66.67%</td>
206 <td class="coverNumMed">2 / 3</td>
207 </tr>
209 <tr>
210 <td class="coverFile" colspan="4">&nbsp;<a href="#263">final public static function install()</a></td>
211 <td class="coverBar" align="center" width="100">
212 <table border="0" cellspacing="0" cellpadding="1">
213 <tr>
214 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
215 </tr>
216 </table>
217 </td>
218 <td class="coverPerHi">100.00%</td>
219 <td class="coverNumHi">1 / 1</td>
220 <td class="coverBar" align="center" width="100">
221 <table border="0" cellspacing="0" cellpadding="1">
222 <tr>
223 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
224 </tr>
225 </table>
226 </td>
227 <td class="coverPerHi">100.00%</td>
228 <td class="coverNumHi">10 / 10</td>
229 </tr>
231 <tr>
232 <td class="coverFile" colspan="4">&nbsp;<a href="#293">final public static function connect($db, $host='localhost', $user = NULL, $pwd=NULL)</a></td>
233 <td class="coverBar" align="center" width="100">
234 <table border="0" cellspacing="0" cellpadding="1">
235 <tr>
236 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
237 </tr>
238 </table>
239 </td>
240 <td class="coverPerHi">100.00%</td>
241 <td class="coverNumHi">1 / 1</td>
242 <td class="coverBar" align="center" width="100">
243 <table border="0" cellspacing="0" cellpadding="1">
244 <tr>
245 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
246 </tr>
247 </table>
248 </td>
249 <td class="coverPerHi">100.00%</td>
250 <td class="coverNumHi">5 / 5</td>
251 </tr>
253 <tr>
254 <td class="coverFile" colspan="4">&nbsp;<a href="#310">final protected function _getConnection()</a></td>
255 <td class="coverBar" align="center" width="100">
256 <table border="0" cellspacing="0" cellpadding="1">
257 <tr>
258 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
259 </tr>
260 </table>
261 </td>
262 <td class="coverPerLo">0.00%</td>
263 <td class="coverNumLo">0 / 1</td>
264 <td class="coverBar" align="center" width="100">
265 <table border="0" cellspacing="0" cellpadding="1">
266 <tr>
267 <td class="coverBarOutline"><img src="butter.png" width="52" height="10" alt="52.94%"><img src="snow.png" width="48" height="10" alt="52.94%"></td>
268 </tr>
269 </table>
270 </td>
271 <td class="coverPerMed">52.94%</td>
272 <td class="coverNumMed">9 / 17</td>
273 </tr>
275 <tr>
276 <td class="coverFile" colspan="4">&nbsp;<a href="#343">final protected function _getCollection()</a></td>
277 <td class="coverBar" align="center" width="100">
278 <table border="0" cellspacing="0" cellpadding="1">
279 <tr>
280 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
281 </tr>
282 </table>
283 </td>
284 <td class="coverPerHi">100.00%</td>
285 <td class="coverNumHi">1 / 1</td>
286 <td class="coverBar" align="center" width="100">
287 <table border="0" cellspacing="0" cellpadding="1">
288 <tr>
289 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
290 </tr>
291 </table>
292 </td>
293 <td class="coverPerHi">100.00%</td>
294 <td class="coverNumHi">8 / 8</td>
295 </tr>
297 <tr>
298 <td class="coverFile" colspan="4">&nbsp;<a href="#368">final protected function getDocumentVars()</a></td>
299 <td class="coverBar" align="center" width="100">
300 <table border="0" cellspacing="0" cellpadding="1">
301 <tr>
302 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
303 </tr>
304 </table>
305 </td>
306 <td class="coverPerHi">100.00%</td>
307 <td class="coverNumHi">1 / 1</td>
308 <td class="coverBar" align="center" width="100">
309 <table border="0" cellspacing="0" cellpadding="1">
310 <tr>
311 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
312 </tr>
313 </table>
314 </td>
315 <td class="coverPerHi">100.00%</td>
316 <td class="coverNumHi">7 / 7</td>
317 </tr>
319 <tr>
320 <td class="coverFile" colspan="4">&nbsp;<a href="#396">final function getCurrentSubDocument(&$document, $parent_key, Array $values, Array $past_values)</a></td>
321 <td class="coverBar" align="center" width="100">
322 <table border="0" cellspacing="0" cellpadding="1">
323 <tr>
324 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
325 </tr>
326 </table>
327 </td>
328 <td class="coverPerLo">0.00%</td>
329 <td class="coverNumLo">0 / 1</td>
330 <td class="coverBar" align="center" width="100">
331 <table border="0" cellspacing="0" cellpadding="1">
332 <tr>
333 <td class="coverBarOutline"><img src="chameleon.png" width="94" height="10" alt="94.44%"><img src="snow.png" width="6" height="10" alt="94.44%"></td>
334 </tr>
335 </table>
336 </td>
337 <td class="coverPerHi">94.44%</td>
338 <td class="coverNumHi">17 / 18</td>
339 </tr>
341 <tr>
342 <td class="coverFile" colspan="4">&nbsp;<a href="#458">final protected function getCurrentDocument($update=FALSE, $current=FALSE)</a></td>
343 <td class="coverBar" align="center" width="100">
344 <table border="0" cellspacing="0" cellpadding="1">
345 <tr>
346 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
347 </tr>
348 </table>
349 </td>
350 <td class="coverPerLo">0.00%</td>
351 <td class="coverNumLo">0 / 1</td>
352 <td class="coverBar" align="center" width="100">
353 <table border="0" cellspacing="0" cellpadding="1">
354 <tr>
355 <td class="coverBarOutline"><img src="chameleon.png" width="97" height="10" alt="97.37%"><img src="snow.png" width="3" height="10" alt="97.37%"></td>
356 </tr>
357 </table>
358 </td>
359 <td class="coverPerHi">97.37%</td>
360 <td class="coverNumHi">37 / 38</td>
361 </tr>
363 <tr>
364 <td class="coverFile" colspan="4">&nbsp;<a href="#545">final static function addEvent($action, $callback)</a></td>
365 <td class="coverBar" align="center" width="100">
366 <table border="0" cellspacing="0" cellpadding="1">
367 <tr>
368 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
369 </tr>
370 </table>
371 </td>
372 <td class="coverPerHi">100.00%</td>
373 <td class="coverNumHi">1 / 1</td>
374 <td class="coverBar" align="center" width="100">
375 <table border="0" cellspacing="0" cellpadding="1">
376 <tr>
377 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
378 </tr>
379 </table>
380 </td>
381 <td class="coverPerHi">100.00%</td>
382 <td class="coverNumHi">12 / 12</td>
383 </tr>
385 <tr>
386 <td class="coverFile" colspan="4">&nbsp;<a href="#566">final function triggerEvent($event, Array $events_params = array(), $context=NULL)</a></td>
387 <td class="coverBar" align="center" width="100">
388 <table border="0" cellspacing="0" cellpadding="1">
389 <tr>
390 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
391 </tr>
392 </table>
393 </td>
394 <td class="coverPerLo">0.00%</td>
395 <td class="coverNumLo">0 / 1</td>
396 <td class="coverBar" align="center" width="100">
397 <table border="0" cellspacing="0" cellpadding="1">
398 <tr>
399 <td class="coverBarOutline"><img src="chameleon.png" width="92" height="10" alt="92.68%"><img src="snow.png" width="8" height="10" alt="92.68%"></td>
400 </tr>
401 </table>
402 </td>
403 <td class="coverPerHi">92.68%</td>
404 <td class="coverNumHi">38 / 41</td>
405 </tr>
407 <tr>
408 <td class="coverFile" colspan="4">&nbsp;<a href="#631">protected function runFilter($key, &$value, $past_value)</a></td>
409 <td class="coverBar" align="center" width="100">
410 <table border="0" cellspacing="0" cellpadding="1">
411 <tr>
412 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
413 </tr>
414 </table>
415 </td>
416 <td class="coverPerHi">100.00%</td>
417 <td class="coverNumHi">1 / 1</td>
418 <td class="coverBar" align="center" width="100">
419 <table border="0" cellspacing="0" cellpadding="1">
420 <tr>
421 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
422 </tr>
423 </table>
424 </td>
425 <td class="coverPerHi">100.00%</td>
426 <td class="coverNumHi">8 / 8</td>
427 </tr>
429 <tr>
430 <td class="coverFile" colspan="4">&nbsp;<a href="#657">final protected function setCursor(MongoCursor $obj)</a></td>
431 <td class="coverBar" align="center" width="100">
432 <table border="0" cellspacing="0" cellpadding="1">
433 <tr>
434 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
435 </tr>
436 </table>
437 </td>
438 <td class="coverPerHi">100.00%</td>
439 <td class="coverNumHi">1 / 1</td>
440 <td class="coverBar" align="center" width="100">
441 <table border="0" cellspacing="0" cellpadding="1">
442 <tr>
443 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
444 </tr>
445 </table>
446 </td>
447 <td class="coverPerHi">100.00%</td>
448 <td class="coverNumHi">4 / 4</td>
449 </tr>
451 <tr>
452 <td class="coverFile" colspan="4">&nbsp;<a href="#676">final protected function setResult($obj)</a></td>
453 <td class="coverBar" align="center" width="100">
454 <table border="0" cellspacing="0" cellpadding="1">
455 <tr>
456 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
457 </tr>
458 </table>
459 </td>
460 <td class="coverPerLo">0.00%</td>
461 <td class="coverNumLo">0 / 1</td>
462 <td class="coverBar" align="center" width="100">
463 <table border="0" cellspacing="0" cellpadding="1">
464 <tr>
465 <td class="coverBarOutline"><img src="chameleon.png" width="90" height="10" alt="90.91%"><img src="snow.png" width="10" height="10" alt="90.91%"></td>
466 </tr>
467 </table>
468 </td>
469 <td class="coverPerHi">90.91%</td>
470 <td class="coverNumHi">10 / 11</td>
471 </tr>
473 <tr>
474 <td class="coverFile" colspan="4">&nbsp;<a href="#706">final function find($_id = NULL)</a></td>
475 <td class="coverBar" align="center" width="100">
476 <table border="0" cellspacing="0" cellpadding="1">
477 <tr>
478 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
479 </tr>
480 </table>
481 </td>
482 <td class="coverPerHi">100.00%</td>
483 <td class="coverNumHi">1 / 1</td>
484 <td class="coverBar" align="center" width="100">
485 <table border="0" cellspacing="0" cellpadding="1">
486 <tr>
487 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
488 </tr>
489 </table>
490 </td>
491 <td class="coverPerHi">100.00%</td>
492 <td class="coverNumHi">20 / 20</td>
493 </tr>
495 <tr>
496 <td class="coverFile" colspan="4">&nbsp;<a href="#747">final function save($async=TRUE)</a></td>
497 <td class="coverBar" align="center" width="100">
498 <table border="0" cellspacing="0" cellpadding="1">
499 <tr>
500 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
501 </tr>
502 </table>
503 </td>
504 <td class="coverPerHi">100.00%</td>
505 <td class="coverNumHi">1 / 1</td>
506 <td class="coverBar" align="center" width="100">
507 <table border="0" cellspacing="0" cellpadding="1">
508 <tr>
509 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
510 </tr>
511 </table>
512 </td>
513 <td class="coverPerHi">100.00%</td>
514 <td class="coverNumHi">53 / 53</td>
515 </tr>
517 <tr>
518 <td class="coverFile" colspan="4">&nbsp;<a href="#822">final function delete()</a></td>
519 <td class="coverBar" align="center" width="100">
520 <table border="0" cellspacing="0" cellpadding="1">
521 <tr>
522 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
523 </tr>
524 </table>
525 </td>
526 <td class="coverPerHi">100.00%</td>
527 <td class="coverNumHi">1 / 1</td>
528 <td class="coverBar" align="center" width="100">
529 <table border="0" cellspacing="0" cellpadding="1">
530 <tr>
531 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
532 </tr>
533 </table>
534 </td>
535 <td class="coverPerHi">100.00%</td>
536 <td class="coverNumHi">13 / 13</td>
537 </tr>
539 <tr>
540 <td class="coverFile" colspan="4">&nbsp;<a href="#867">function update(Array $value, $safe=TRUE)</a></td>
541 <td class="coverBar" align="center" width="100">
542 <table border="0" cellspacing="0" cellpadding="1">
543 <tr>
544 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
545 </tr>
546 </table>
547 </td>
548 <td class="coverPerHi">100.00%</td>
549 <td class="coverNumHi">1 / 1</td>
550 <td class="coverBar" align="center" width="100">
551 <table border="0" cellspacing="0" cellpadding="1">
552 <tr>
553 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
554 </tr>
555 </table>
556 </td>
557 <td class="coverPerHi">100.00%</td>
558 <td class="coverNumHi">7 / 7</td>
559 </tr>
561 <tr>
562 <td class="coverFile" colspan="4">&nbsp;<a href="#891">final static function drop()</a></td>
563 <td class="coverBar" align="center" width="100">
564 <table border="0" cellspacing="0" cellpadding="1">
565 <tr>
566 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
567 </tr>
568 </table>
569 </td>
570 <td class="coverPerHi">100.00%</td>
571 <td class="coverNumHi">1 / 1</td>
572 <td class="coverBar" align="center" width="100">
573 <table border="0" cellspacing="0" cellpadding="1">
574 <tr>
575 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
576 </tr>
577 </table>
578 </td>
579 <td class="coverPerHi">100.00%</td>
580 <td class="coverNumHi">10 / 10</td>
581 </tr>
583 <tr>
584 <td class="coverFile" colspan="4">&nbsp;<a href="#916">final function count()</a></td>
585 <td class="coverBar" align="center" width="100">
586 <table border="0" cellspacing="0" cellpadding="1">
587 <tr>
588 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
589 </tr>
590 </table>
591 </td>
592 <td class="coverPerHi">100.00%</td>
593 <td class="coverNumHi">1 / 1</td>
594 <td class="coverBar" align="center" width="100">
595 <table border="0" cellspacing="0" cellpadding="1">
596 <tr>
597 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
598 </tr>
599 </table>
600 </td>
601 <td class="coverPerHi">100.00%</td>
602 <td class="coverNumHi">3 / 3</td>
603 </tr>
605 <tr>
606 <td class="coverFile" colspan="4">&nbsp;<a href="#931">function setup()</a></td>
607 <td class="coverBar" align="center" width="100">
608 <table border="0" cellspacing="0" cellpadding="1">
609 <tr>
610 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
611 </tr>
612 </table>
613 </td>
614 <td class="coverPerHi">100.00%</td>
615 <td class="coverNumHi">1 / 1</td>
616 <td class="coverBar" align="center" width="100">
617 <table border="0" cellspacing="0" cellpadding="1">
618 <tr>
619 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
620 </tr>
621 </table>
622 </td>
623 <td class="coverPerHi">100.00%</td>
624 <td class="coverNumHi">1 / 1</td>
625 </tr>
627 <tr>
628 <td class="coverFile" colspan="4">&nbsp;<a href="#946">final public static function batchInsert(Array $documents, $safe=TRUE, $on_error_continue=TRUE)</a></td>
629 <td class="coverBar" align="center" width="100">
630 <table border="0" cellspacing="0" cellpadding="1">
631 <tr>
632 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
633 </tr>
634 </table>
635 </td>
636 <td class="coverPerHi">100.00%</td>
637 <td class="coverNumHi">1 / 1</td>
638 <td class="coverBar" align="center" width="100">
639 <table border="0" cellspacing="0" cellpadding="1">
640 <tr>
641 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
642 </tr>
643 </table>
644 </td>
645 <td class="coverPerHi">100.00%</td>
646 <td class="coverNumHi">22 / 22</td>
647 </tr>
649 <tr>
650 <td class="coverFile" colspan="4">&nbsp;<a href="#991">final function addIndex($columns, $options=array())</a></td>
651 <td class="coverBar" align="center" width="100">
652 <table border="0" cellspacing="0" cellpadding="1">
653 <tr>
654 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
655 </tr>
656 </table>
657 </td>
658 <td class="coverPerHi">100.00%</td>
659 <td class="coverNumHi">1 / 1</td>
660 <td class="coverBar" align="center" width="100">
661 <table border="0" cellspacing="0" cellpadding="1">
662 <tr>
663 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
664 </tr>
665 </table>
666 </td>
667 <td class="coverPerHi">100.00%</td>
668 <td class="coverNumHi">18 / 18</td>
669 </tr>
671 <tr>
672 <td class="coverFile" colspan="4">&nbsp;<a href="#1026">final static function getIndexes()</a></td>
673 <td class="coverBar" align="center" width="100">
674 <table border="0" cellspacing="0" cellpadding="1">
675 <tr>
676 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
677 </tr>
678 </table>
679 </td>
680 <td class="coverPerHi">100.00%</td>
681 <td class="coverNumHi">1 / 1</td>
682 <td class="coverBar" align="center" width="100">
683 <table border="0" cellspacing="0" cellpadding="1">
684 <tr>
685 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
686 </tr>
687 </table>
688 </td>
689 <td class="coverPerHi">100.00%</td>
690 <td class="coverNumHi">1 / 1</td>
691 </tr>
693 <tr>
694 <td class="coverFile" colspan="4">&nbsp;<a href="#1041">function __toString()</a></td>
695 <td class="coverBar" align="center" width="100">
696 <table border="0" cellspacing="0" cellpadding="1">
697 <tr>
698 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
699 </tr>
700 </table>
701 </td>
702 <td class="coverPerHi">100.00%</td>
703 <td class="coverNumHi">1 / 1</td>
704 <td class="coverBar" align="center" width="100">
705 <table border="0" cellspacing="0" cellpadding="1">
706 <tr>
707 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
708 </tr>
709 </table>
710 </td>
711 <td class="coverPerHi">100.00%</td>
712 <td class="coverNumHi">1 / 1</td>
713 </tr>
715 <tr>
716 <td class="coverFile" colspan="4">&nbsp;<a href="#1056">final protected function sendCmd($cmd)</a></td>
717 <td class="coverBar" align="center" width="100">
718 <table border="0" cellspacing="0" cellpadding="1">
719 <tr>
720 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
721 </tr>
722 </table>
723 </td>
724 <td class="coverPerHi">100.00%</td>
725 <td class="coverNumHi">1 / 1</td>
726 <td class="coverBar" align="center" width="100">
727 <table border="0" cellspacing="0" cellpadding="1">
728 <tr>
729 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
730 </tr>
731 </table>
732 </td>
733 <td class="coverPerHi">100.00%</td>
734 <td class="coverNumHi">1 / 1</td>
735 </tr>
737 <tr>
738 <td class="coverFile" colspan="4">&nbsp;<a href="#1071">final function getArray()</a></td>
739 <td class="coverBar" align="center" width="100">
740 <table border="0" cellspacing="0" cellpadding="1">
741 <tr>
742 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
743 </tr>
744 </table>
745 </td>
746 <td class="coverPerHi">100.00%</td>
747 <td class="coverNumHi">1 / 1</td>
748 <td class="coverBar" align="center" width="100">
749 <table border="0" cellspacing="0" cellpadding="1">
750 <tr>
751 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
752 </tr>
753 </table>
754 </td>
755 <td class="coverPerHi">100.00%</td>
756 <td class="coverNumHi">1 / 1</td>
757 </tr>
759 <tr>
760 <td class="coverFile" colspan="4">&nbsp;<a href="#1084">final function reset()</a></td>
761 <td class="coverBar" align="center" width="100">
762 <table border="0" cellspacing="0" cellpadding="1">
763 <tr>
764 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
765 </tr>
766 </table>
767 </td>
768 <td class="coverPerHi">100.00%</td>
769 <td class="coverNumHi">1 / 1</td>
770 <td class="coverBar" align="center" width="100">
771 <table border="0" cellspacing="0" cellpadding="1">
772 <tr>
773 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
774 </tr>
775 </table>
776 </td>
777 <td class="coverPerHi">100.00%</td>
778 <td class="coverNumHi">11 / 11</td>
779 </tr>
781 <tr>
782 <td class="coverFile" colspan="4">&nbsp;<a href="#1108">final function valid()</a></td>
783 <td class="coverBar" align="center" width="100">
784 <table border="0" cellspacing="0" cellpadding="1">
785 <tr>
786 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
787 </tr>
788 </table>
789 </td>
790 <td class="coverPerLo">0.00%</td>
791 <td class="coverNumLo">0 / 1</td>
792 <td class="coverBar" align="center" width="100">
793 <table border="0" cellspacing="0" cellpadding="1">
794 <tr>
795 <td class="coverBarOutline"><img src="chameleon.png" width="88" height="10" alt="88.89%"><img src="snow.png" width="12" height="10" alt="88.89%"></td>
796 </tr>
797 </table>
798 </td>
799 <td class="coverPerHi">88.89%</td>
800 <td class="coverNumHi">16 / 18</td>
801 </tr>
803 <tr>
804 <td class="coverFile" colspan="4">&nbsp;<a href="#1139">final function next()</a></td>
805 <td class="coverBar" align="center" width="100">
806 <table border="0" cellspacing="0" cellpadding="1">
807 <tr>
808 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
809 </tr>
810 </table>
811 </td>
812 <td class="coverPerLo">0.00%</td>
813 <td class="coverNumLo">0 / 1</td>
814 <td class="coverBar" align="center" width="100">
815 <table border="0" cellspacing="0" cellpadding="1">
816 <tr>
817 <td class="coverBarOutline"><img src="chameleon.png" width="85" height="10" alt="85.71%"><img src="snow.png" width="15" height="10" alt="85.71%"></td>
818 </tr>
819 </table>
820 </td>
821 <td class="coverPerHi">85.71%</td>
822 <td class="coverNumHi">12 / 14</td>
823 </tr>
825 <tr>
826 <td class="coverFile" colspan="4">&nbsp;<a href="#1167">final function current()</a></td>
827 <td class="coverBar" align="center" width="100">
828 <table border="0" cellspacing="0" cellpadding="1">
829 <tr>
830 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
831 </tr>
832 </table>
833 </td>
834 <td class="coverPerLo">0.00%</td>
835 <td class="coverNumLo">0 / 1</td>
836 <td class="coverBar" align="center" width="100">
837 <table border="0" cellspacing="0" cellpadding="1">
838 <tr>
839 <td class="coverBarOutline"><img src="chameleon.png" width="71" height="10" alt="71.43%"><img src="snow.png" width="29" height="10" alt="71.43%"></td>
840 </tr>
841 </table>
842 </td>
843 <td class="coverPerHi">71.43%</td>
844 <td class="coverNumHi">10 / 14</td>
845 </tr>
847 <tr>
848 <td class="coverFile" colspan="4">&nbsp;<a href="#1191">final function rewind()</a></td>
849 <td class="coverBar" align="center" width="100">
850 <table border="0" cellspacing="0" cellpadding="1">
851 <tr>
852 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
853 </tr>
854 </table>
855 </td>
856 <td class="coverPerLo">0.00%</td>
857 <td class="coverNumLo">0 / 1</td>
858 <td class="coverBar" align="center" width="100">
859 <table border="0" cellspacing="0" cellpadding="1">
860 <tr>
861 <td class="coverBarOutline"><img src="chameleon.png" width="88" height="10" alt="88.24%"><img src="snow.png" width="12" height="10" alt="88.24%"></td>
862 </tr>
863 </table>
864 </td>
865 <td class="coverPerHi">88.24%</td>
866 <td class="coverNumHi">15 / 17</td>
867 </tr>
869 <tr>
870 <td class="coverFile" colspan="4">&nbsp;<a href="#1219">final function offsetExists($offset)</a></td>
871 <td class="coverBar" align="center" width="100">
872 <table border="0" cellspacing="0" cellpadding="1">
873 <tr>
874 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
875 </tr>
876 </table>
877 </td>
878 <td class="coverPerHi">100.00%</td>
879 <td class="coverNumHi">1 / 1</td>
880 <td class="coverBar" align="center" width="100">
881 <table border="0" cellspacing="0" cellpadding="1">
882 <tr>
883 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
884 </tr>
885 </table>
886 </td>
887 <td class="coverPerHi">100.00%</td>
888 <td class="coverNumHi">1 / 1</td>
889 </tr>
891 <tr>
892 <td class="coverFile" colspan="4">&nbsp;<a href="#1224">final function offsetGet($offset)</a></td>
893 <td class="coverBar" align="center" width="100">
894 <table border="0" cellspacing="0" cellpadding="1">
895 <tr>
896 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
897 </tr>
898 </table>
899 </td>
900 <td class="coverPerHi">100.00%</td>
901 <td class="coverNumHi">1 / 1</td>
902 <td class="coverBar" align="center" width="100">
903 <table border="0" cellspacing="0" cellpadding="1">
904 <tr>
905 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
906 </tr>
907 </table>
908 </td>
909 <td class="coverPerHi">100.00%</td>
910 <td class="coverNumHi">1 / 1</td>
911 </tr>
913 <tr>
914 <td class="coverFile" colspan="4">&nbsp;<a href="#1229">final function offsetSet($offset, $value)</a></td>
915 <td class="coverBar" align="center" width="100">
916 <table border="0" cellspacing="0" cellpadding="1">
917 <tr>
918 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
919 </tr>
920 </table>
921 </td>
922 <td class="coverPerHi">100.00%</td>
923 <td class="coverNumHi">1 / 1</td>
924 <td class="coverBar" align="center" width="100">
925 <table border="0" cellspacing="0" cellpadding="1">
926 <tr>
927 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
928 </tr>
929 </table>
930 </td>
931 <td class="coverPerHi">100.00%</td>
932 <td class="coverNumHi">2 / 2</td>
933 </tr>
935 <tr>
936 <td class="coverFile" colspan="4">&nbsp;<a href="#1234">final function offsetUnset($offset)</a></td>
937 <td class="coverBar" align="center" width="100">
938 <table border="0" cellspacing="0" cellpadding="1">
939 <tr>
940 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
941 </tr>
942 </table>
943 </td>
944 <td class="coverPerHi">100.00%</td>
945 <td class="coverNumHi">1 / 1</td>
946 <td class="coverBar" align="center" width="100">
947 <table border="0" cellspacing="0" cellpadding="1">
948 <tr>
949 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
950 </tr>
951 </table>
952 </td>
953 <td class="coverPerHi">100.00%</td>
954 <td class="coverNumHi">2 / 2</td>
955 </tr>
957 <tr>
958 <td class="coverFile" colspan="4">&nbsp;<a href="#1254">final function getReference($dynamic=FALSE)</a></td>
959 <td class="coverBar" align="center" width="100">
960 <table border="0" cellspacing="0" cellpadding="1">
961 <tr>
962 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
963 </tr>
964 </table>
965 </td>
966 <td class="coverPerLo">0.00%</td>
967 <td class="coverNumLo">0 / 1</td>
968 <td class="coverBar" align="center" width="100">
969 <table border="0" cellspacing="0" cellpadding="1">
970 <tr>
971 <td class="coverBarOutline"><img src="chameleon.png" width="95" height="10" alt="95.65%"><img src="snow.png" width="5" height="10" alt="95.65%"></td>
972 </tr>
973 </table>
974 </td>
975 <td class="coverPerHi">95.65%</td>
976 <td class="coverNumHi">22 / 23</td>
977 </tr>
979 <tr>
980 <td class="coverFile" colspan="4">&nbsp;<a href="#1303">final protected function getDocumentReferences($document, &$refs, $parent_key=NULL)</a></td>
981 <td class="coverBar" align="center" width="100">
982 <table border="0" cellspacing="0" cellpadding="1">
983 <tr>
984 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
985 </tr>
986 </table>
987 </td>
988 <td class="coverPerHi">100.00%</td>
989 <td class="coverNumHi">1 / 1</td>
990 <td class="coverBar" align="center" width="100">
991 <table border="0" cellspacing="0" cellpadding="1">
992 <tr>
993 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
994 </tr>
995 </table>
996 </td>
997 <td class="coverPerHi">100.00%</td>
998 <td class="coverNumHi">13 / 13</td>
999 </tr>
1001 <tr>
1002 <td class="coverFile" colspan="4">&nbsp;<a href="#1332">private function _deferencingCreateObject($class)</a></td>
1003 <td class="coverBar" align="center" width="100">
1004 <table border="0" cellspacing="0" cellpadding="1">
1005 <tr>
1006 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
1007 </tr>
1008 </table>
1009 </td>
1010 <td class="coverPerLo">0.00%</td>
1011 <td class="coverNumLo">0 / 1</td>
1012 <td class="coverBar" align="center" width="100">
1013 <table border="0" cellspacing="0" cellpadding="1">
1014 <tr>
1015 <td class="coverBarOutline"><img src="butter.png" width="66" height="10" alt="66.67%"><img src="snow.png" width="34" height="10" alt="66.67%"></td>
1016 </tr>
1017 </table>
1018 </td>
1019 <td class="coverPerMed">66.67%</td>
1020 <td class="coverNumMed">2 / 3</td>
1021 </tr>
1023 <tr>
1024 <td class="coverFile" colspan="4">&nbsp;<a href="#1354">private function _deferencingRestoreProperty(&$document, $keys, $req)</a></td>
1025 <td class="coverBar" align="center" width="100">
1026 <table border="0" cellspacing="0" cellpadding="1">
1027 <tr>
1028 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1029 </tr>
1030 </table>
1031 </td>
1032 <td class="coverPerHi">100.00%</td>
1033 <td class="coverNumHi">1 / 1</td>
1034 <td class="coverBar" align="center" width="100">
1035 <table border="0" cellspacing="0" cellpadding="1">
1036 <tr>
1037 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1038 </tr>
1039 </table>
1040 </td>
1041 <td class="coverPerHi">100.00%</td>
1042 <td class="coverNumHi">7 / 7</td>
1043 </tr>
1045 <tr>
1046 <td class="coverFile" colspan="4">&nbsp;<a href="#1381">private function _deferencingQuery($request)</a></td>
1047 <td class="coverBar" align="center" width="100">
1048 <table border="0" cellspacing="0" cellpadding="1">
1049 <tr>
1050 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1051 </tr>
1052 </table>
1053 </td>
1054 <td class="coverPerHi">100.00%</td>
1055 <td class="coverNumHi">1 / 1</td>
1056 <td class="coverBar" align="center" width="100">
1057 <table border="0" cellspacing="0" cellpadding="1">
1058 <tr>
1059 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1060 </tr>
1061 </table>
1062 </td>
1063 <td class="coverPerHi">100.00%</td>
1064 <td class="coverNumHi">10 / 10</td>
1065 </tr>
1067 <tr>
1068 <td class="coverFile" colspan="4">&nbsp;<a href="#1411">final function doDeferencing($refs=array())</a></td>
1069 <td class="coverBar" align="center" width="100">
1070 <table border="0" cellspacing="0" cellpadding="1">
1071 <tr>
1072 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1073 </tr>
1074 </table>
1075 </td>
1076 <td class="coverPerHi">100.00%</td>
1077 <td class="coverNumHi">1 / 1</td>
1078 <td class="coverBar" align="center" width="100">
1079 <table border="0" cellspacing="0" cellpadding="1">
1080 <tr>
1081 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1082 </tr>
1083 </table>
1084 </td>
1085 <td class="coverPerHi">100.00%</td>
1086 <td class="coverNumHi">47 / 47</td>
1087 </tr>
1089 <tr>
1090 <td class="coverFile" colspan="4">&nbsp;<a href="#1528">final function getColumnDeference(&$document, $property, ActiveMongo $obj)</a></td>
1091 <td class="coverBar" align="center" width="100">
1092 <table border="0" cellspacing="0" cellpadding="1">
1093 <tr>
1094 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1095 </tr>
1096 </table>
1097 </td>
1098 <td class="coverPerHi">100.00%</td>
1099 <td class="coverNumHi">1 / 1</td>
1100 <td class="coverBar" align="center" width="100">
1101 <table border="0" cellspacing="0" cellpadding="1">
1102 <tr>
1103 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1104 </tr>
1105 </table>
1106 </td>
1107 <td class="coverPerHi">100.00%</td>
1108 <td class="coverNumHi">2 / 2</td>
1109 </tr>
1111 <tr>
1112 <td class="coverFile" colspan="4">&nbsp;<a href="#1541">final function findReferences(&$document)</a></td>
1113 <td class="coverBar" align="center" width="100">
1114 <table border="0" cellspacing="0" cellpadding="1">
1115 <tr>
1116 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
1117 </tr>
1118 </table>
1119 </td>
1120 <td class="coverPerLo">0.00%</td>
1121 <td class="coverNumLo">0 / 1</td>
1122 <td class="coverBar" align="center" width="100">
1123 <table border="0" cellspacing="0" cellpadding="1">
1124 <tr>
1125 <td class="coverBarOutline"><img src="chameleon.png" width="85" height="10" alt="85.71%"><img src="snow.png" width="15" height="10" alt="85.71%"></td>
1126 </tr>
1127 </table>
1128 </td>
1129 <td class="coverPerHi">85.71%</td>
1130 <td class="coverNumHi">18 / 21</td>
1131 </tr>
1133 <tr>
1134 <td class="coverFile" colspan="4">&nbsp;<a href="#1583">final function __clone()</a></td>
1135 <td class="coverBar" align="center" width="100">
1136 <table border="0" cellspacing="0" cellpadding="1">
1137 <tr>
1138 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1139 </tr>
1140 </table>
1141 </td>
1142 <td class="coverPerHi">100.00%</td>
1143 <td class="coverNumHi">1 / 1</td>
1144 <td class="coverBar" align="center" width="100">
1145 <table border="0" cellspacing="0" cellpadding="1">
1146 <tr>
1147 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1148 </tr>
1149 </table>
1150 </td>
1151 <td class="coverPerHi">100.00%</td>
1152 <td class="coverNumHi">5 / 5</td>
1153 </tr>
1155 <tr>
1156 <td class="coverFile" colspan="4">&nbsp;<a href="#1604">final public function getID()</a></td>
1157 <td class="coverBar" align="center" width="100">
1158 <table border="0" cellspacing="0" cellpadding="1">
1159 <tr>
1160 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1161 </tr>
1162 </table>
1163 </td>
1164 <td class="coverPerHi">100.00%</td>
1165 <td class="coverNumHi">1 / 1</td>
1166 <td class="coverBar" align="center" width="100">
1167 <table border="0" cellspacing="0" cellpadding="1">
1168 <tr>
1169 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1170 </tr>
1171 </table>
1172 </td>
1173 <td class="coverPerHi">100.00%</td>
1174 <td class="coverNumHi">3 / 3</td>
1175 </tr>
1177 <tr>
1178 <td class="coverFile" colspan="4">&nbsp;<a href="#1619">final function key()</a></td>
1179 <td class="coverBar" align="center" width="100">
1180 <table border="0" cellspacing="0" cellpadding="1">
1181 <tr>
1182 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1183 </tr>
1184 </table>
1185 </td>
1186 <td class="coverPerHi">100.00%</td>
1187 <td class="coverNumHi">1 / 1</td>
1188 <td class="coverBar" align="center" width="100">
1189 <table border="0" cellspacing="0" cellpadding="1">
1190 <tr>
1191 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1192 </tr>
1193 </table>
1194 </td>
1195 <td class="coverPerHi">100.00%</td>
1196 <td class="coverNumHi">1 / 1</td>
1197 </tr>
1199 <tr>
1200 <td class="coverFile" colspan="4">&nbsp;<a href="#1637">final private function _assertNotInQuery()</a></td>
1201 <td class="coverBar" align="center" width="100">
1202 <table border="0" cellspacing="0" cellpadding="1">
1203 <tr>
1204 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1205 </tr>
1206 </table>
1207 </td>
1208 <td class="coverPerHi">100.00%</td>
1209 <td class="coverNumHi">1 / 1</td>
1210 <td class="coverBar" align="center" width="100">
1211 <table border="0" cellspacing="0" cellpadding="1">
1212 <tr>
1213 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1214 </tr>
1215 </table>
1216 </td>
1217 <td class="coverPerHi">100.00%</td>
1218 <td class="coverNumHi">3 / 3</td>
1219 </tr>
1221 <tr>
1222 <td class="coverFile" colspan="4">&nbsp;<a href="#1653">final function servedFromCache()</a></td>
1223 <td class="coverBar" align="center" width="100">
1224 <table border="0" cellspacing="0" cellpadding="1">
1225 <tr>
1226 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1227 </tr>
1228 </table>
1229 </td>
1230 <td class="coverPerHi">100.00%</td>
1231 <td class="coverNumHi">1 / 1</td>
1232 <td class="coverBar" align="center" width="100">
1233 <table border="0" cellspacing="0" cellpadding="1">
1234 <tr>
1235 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1236 </tr>
1237 </table>
1238 </td>
1239 <td class="coverPerHi">100.00%</td>
1240 <td class="coverNumHi">1 / 1</td>
1241 </tr>
1243 <tr>
1244 <td class="coverFile" colspan="4">&nbsp;<a href="#1665">final function doQuery($use_cache=TRUE)</a></td>
1245 <td class="coverBar" align="center" width="100">
1246 <table border="0" cellspacing="0" cellpadding="1">
1247 <tr>
1248 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
1249 </tr>
1250 </table>
1251 </td>
1252 <td class="coverPerLo">0.00%</td>
1253 <td class="coverNumLo">0 / 1</td>
1254 <td class="coverBar" align="center" width="100">
1255 <table border="0" cellspacing="0" cellpadding="1">
1256 <tr>
1257 <td class="coverBarOutline"><img src="chameleon.png" width="82" height="10" alt="82.05%"><img src="snow.png" width="18" height="10" alt="82.05%"></td>
1258 </tr>
1259 </table>
1260 </td>
1261 <td class="coverPerHi">82.05%</td>
1262 <td class="coverNumHi">32 / 39</td>
1263 </tr>
1265 <tr>
1266 <td class="coverFile" colspan="4">&nbsp;<a href="#1731">final function properties($props)</a></td>
1267 <td class="coverBar" align="center" width="100">
1268 <table border="0" cellspacing="0" cellpadding="1">
1269 <tr>
1270 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1271 </tr>
1272 </table>
1273 </td>
1274 <td class="coverPerHi">100.00%</td>
1275 <td class="coverNumHi">1 / 1</td>
1276 <td class="coverBar" align="center" width="100">
1277 <table border="0" cellspacing="0" cellpadding="1">
1278 <tr>
1279 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1280 </tr>
1281 </table>
1282 </td>
1283 <td class="coverPerHi">100.00%</td>
1284 <td class="coverNumHi">13 / 13</td>
1285 </tr>
1287 <tr>
1288 <td class="coverFile" colspan="4">&nbsp;<a href="#1757">final function columns($properties)</a></td>
1289 <td class="coverBar" align="center" width="100">
1290 <table border="0" cellspacing="0" cellpadding="1">
1291 <tr>
1292 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1293 </tr>
1294 </table>
1295 </td>
1296 <td class="coverPerHi">100.00%</td>
1297 <td class="coverNumHi">1 / 1</td>
1298 <td class="coverBar" align="center" width="100">
1299 <table border="0" cellspacing="0" cellpadding="1">
1300 <tr>
1301 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1302 </tr>
1303 </table>
1304 </td>
1305 <td class="coverPerHi">100.00%</td>
1306 <td class="coverNumHi">1 / 1</td>
1307 </tr>
1309 <tr>
1310 <td class="coverFile" colspan="4">&nbsp;<a href="#1768">final function where($property_str, $value=NULL)</a></td>
1311 <td class="coverBar" align="center" width="100">
1312 <table border="0" cellspacing="0" cellpadding="1">
1313 <tr>
1314 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1315 </tr>
1316 </table>
1317 </td>
1318 <td class="coverPerHi">100.00%</td>
1319 <td class="coverNumHi">1 / 1</td>
1320 <td class="coverBar" align="center" width="100">
1321 <table border="0" cellspacing="0" cellpadding="1">
1322 <tr>
1323 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1324 </tr>
1325 </table>
1326 </td>
1327 <td class="coverPerHi">100.00%</td>
1328 <td class="coverNumHi">110 / 110</td>
1329 </tr>
1331 <tr>
1332 <td class="coverFile" colspan="4">&nbsp;<a href="#1925">final function sort($sort_str)</a></td>
1333 <td class="coverBar" align="center" width="100">
1334 <table border="0" cellspacing="0" cellpadding="1">
1335 <tr>
1336 <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
1337 </tr>
1338 </table>
1339 </td>
1340 <td class="coverPerLo">0.00%</td>
1341 <td class="coverNumLo">0 / 1</td>
1342 <td class="coverBar" align="center" width="100">
1343 <table border="0" cellspacing="0" cellpadding="1">
1344 <tr>
1345 <td class="coverBarOutline"><img src="chameleon.png" width="92" height="10" alt="92.86%"><img src="snow.png" width="8" height="10" alt="92.86%"></td>
1346 </tr>
1347 </table>
1348 </td>
1349 <td class="coverPerHi">92.86%</td>
1350 <td class="coverNumHi">26 / 28</td>
1351 </tr>
1353 <tr>
1354 <td class="coverFile" colspan="4">&nbsp;<a href="#1973">final function limit($limit=0, $skip=0)</a></td>
1355 <td class="coverBar" align="center" width="100">
1356 <table border="0" cellspacing="0" cellpadding="1">
1357 <tr>
1358 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1359 </tr>
1360 </table>
1361 </td>
1362 <td class="coverPerHi">100.00%</td>
1363 <td class="coverNumHi">1 / 1</td>
1364 <td class="coverBar" align="center" width="100">
1365 <table border="0" cellspacing="0" cellpadding="1">
1366 <tr>
1367 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1368 </tr>
1369 </table>
1370 </td>
1371 <td class="coverPerHi">100.00%</td>
1372 <td class="coverNumHi">6 / 6</td>
1373 </tr>
1375 <tr>
1376 <td class="coverFile" colspan="4">&nbsp;<a href="#1993">final function findAndModify($document)</a></td>
1377 <td class="coverBar" align="center" width="100">
1378 <table border="0" cellspacing="0" cellpadding="1">
1379 <tr>
1380 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1381 </tr>
1382 </table>
1383 </td>
1384 <td class="coverPerHi">100.00%</td>
1385 <td class="coverNumHi">1 / 1</td>
1386 <td class="coverBar" align="center" width="100">
1387 <table border="0" cellspacing="0" cellpadding="1">
1388 <tr>
1389 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1390 </tr>
1391 </table>
1392 </td>
1393 <td class="coverPerHi">100.00%</td>
1394 <td class="coverNumHi">6 / 6</td>
1395 </tr>
1397 <tr>
1398 <td class="coverFile" colspan="4">&nbsp;<a href="#2007">private function _execFindAndModify()</a></td>
1399 <td class="coverBar" align="center" width="100">
1400 <table border="0" cellspacing="0" cellpadding="1">
1401 <tr>
1402 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1403 </tr>
1404 </table>
1405 </td>
1406 <td class="coverPerHi">100.00%</td>
1407 <td class="coverNumHi">1 / 1</td>
1408 <td class="coverBar" align="center" width="100">
1409 <table border="0" cellspacing="0" cellpadding="1">
1410 <tr>
1411 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1412 </tr>
1413 </table>
1414 </td>
1415 <td class="coverPerHi">100.00%</td>
1416 <td class="coverNumHi">12 / 12</td>
1417 </tr>
1419 <tr>
1420 <td class="coverFile" colspan="4">&nbsp;<a href="#2035">function __sleep()</a></td>
1421 <td class="coverBar" align="center" width="100">
1422 <table border="0" cellspacing="0" cellpadding="1">
1423 <tr>
1424 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1425 </tr>
1426 </table>
1427 </td>
1428 <td class="coverPerHi">100.00%</td>
1429 <td class="coverNumHi">1 / 1</td>
1430 <td class="coverBar" align="center" width="100">
1431 <table border="0" cellspacing="0" cellpadding="1">
1432 <tr>
1433 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1434 </tr>
1435 </table>
1436 </td>
1437 <td class="coverPerHi">100.00%</td>
1438 <td class="coverNumHi">1 / 1</td>
1439 </tr>
1441 <tr>
1442 <td class="coverItem">Functions</td>
1443 <td class="coverBar" align="center" width="100">
1444 <table border="0" cellspacing="0" cellpadding="1">
1445 <tr>
1446 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="&nbsp;"><img src="snow.png" width="0" height="10" alt="&nbsp;"></td>
1447 </tr>
1448 </table>
1449 </td>
1450 <td class="coverPerNone">&nbsp;</td>
1451 <td class="coverNumNone">&nbsp;</td>
1452 <td class="coverBar" align="center" width="100">
1453 <table border="0" cellspacing="0" cellpadding="1">
1454 <tr>
1455 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1456 </tr>
1457 </table>
1458 </td>
1459 <td class="coverPerHi">100.00%</td>
1460 <td class="coverNumHi">1 / 1</td>
1461 <td class="coverBar" align="center" width="100">
1462 <table border="0" cellspacing="0" cellpadding="1">
1463 <tr>
1464 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1465 </tr>
1466 </table>
1467 </td>
1468 <td class="coverPerHi">100.00%</td>
1469 <td class="coverNumHi">0 / 0</td>
1470 </tr>
1472 <tr>
1473 <td class="coverFile" colspan="4">&nbsp;<a href="#47">function get_document_vars($obj, $include_id=TRUE)</a></td>
1474 <td class="coverBar" align="center" width="100">
1475 <table border="0" cellspacing="0" cellpadding="1">
1476 <tr>
1477 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1478 </tr>
1479 </table>
1480 </td>
1481 <td class="coverPerHi">100.00%</td>
1482 <td class="coverNumHi">1 / 1</td>
1483 <td class="coverBar" align="center" width="100">
1484 <table border="0" cellspacing="0" cellpadding="1">
1485 <tr>
1486 <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
1487 </tr>
1488 </table>
1489 </td>
1490 <td class="coverPerHi">100.00%</td>
1491 <td class="coverNumHi">5 / 5</td>
1492 </tr>
1495 </table>
1496 </center>
1498 <br />
1500 <table cellpadding="0" cellspacing="0" border="0">
1501 <tr>
1502 <td><br /></td>
1503 </tr>
1504 <tr>
1505 <td>
1506 <pre class="source">
1507 <span class="lineNum" id="container1"><a name="1"></a><a href="#1" id="line1"> 1</a> </span> : &lt;?php
1508 <span class="lineNum" id="container2"><a name="2"></a><a href="#2" id="line2"> 2</a> </span> : /*
1509 <span class="lineNum" id="container3"><a name="3"></a><a href="#3" id="line3"> 3</a> </span> : +---------------------------------------------------------------------------------+
1510 <span class="lineNum" id="container4"><a name="4"></a><a href="#4" id="line4"> 4</a> </span> : | Copyright (c) 2010 ActiveMongo |
1511 <span class="lineNum" id="container5"><a name="5"></a><a href="#5" id="line5"> 5</a> </span> : +---------------------------------------------------------------------------------+
1512 <span class="lineNum" id="container6"><a name="6"></a><a href="#6" id="line6"> 6</a> </span> : | Redistribution and use in source and binary forms, with or without |
1513 <span class="lineNum" id="container7"><a name="7"></a><a href="#7" id="line7"> 7</a> </span> : | modification, are permitted provided that the following conditions are met: |
1514 <span class="lineNum" id="container8"><a name="8"></a><a href="#8" id="line8"> 8</a> </span> : | 1. Redistributions of source code must retain the above copyright |
1515 <span class="lineNum" id="container9"><a name="9"></a><a href="#9" id="line9"> 9</a> </span> : | notice, this list of conditions and the following disclaimer. |
1516 <span class="lineNum" id="container10"><a name="10"></a><a href="#10" id="line10"> 10</a> </span> : | |
1517 <span class="lineNum" id="container11"><a name="11"></a><a href="#11" id="line11"> 11</a> </span> : | 2. Redistributions in binary form must reproduce the above copyright |
1518 <span class="lineNum" id="container12"><a name="12"></a><a href="#12" id="line12"> 12</a> </span> : | notice, this list of conditions and the following disclaimer in the |
1519 <span class="lineNum" id="container13"><a name="13"></a><a href="#13" id="line13"> 13</a> </span> : | documentation and/or other materials provided with the distribution. |
1520 <span class="lineNum" id="container14"><a name="14"></a><a href="#14" id="line14"> 14</a> </span> : | |
1521 <span class="lineNum" id="container15"><a name="15"></a><a href="#15" id="line15"> 15</a> </span> : | 3. All advertising materials mentioning features or use of this software |
1522 <span class="lineNum" id="container16"><a name="16"></a><a href="#16" id="line16"> 16</a> </span> : | must display the following acknowledgement: |
1523 <span class="lineNum" id="container17"><a name="17"></a><a href="#17" id="line17"> 17</a> </span> : | This product includes software developed by César D. Rodas. |
1524 <span class="lineNum" id="container18"><a name="18"></a><a href="#18" id="line18"> 18</a> </span> : | |
1525 <span class="lineNum" id="container19"><a name="19"></a><a href="#19" id="line19"> 19</a> </span> : | 4. Neither the name of the César D. Rodas nor the |
1526 <span class="lineNum" id="container20"><a name="20"></a><a href="#20" id="line20"> 20</a> </span> : | names of its contributors may be used to endorse or promote products |
1527 <span class="lineNum" id="container21"><a name="21"></a><a href="#21" id="line21"> 21</a> </span> : | derived from this software without specific prior written permission. |
1528 <span class="lineNum" id="container22"><a name="22"></a><a href="#22" id="line22"> 22</a> </span> : | |
1529 <span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23"> 23</a> </span> : | THIS SOFTWARE IS PROVIDED BY CÉSAR D. RODAS ''AS IS'' AND ANY |
1530 <span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24"> 24</a> </span> : | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
1531 <span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25"> 25</a> </span> : | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
1532 <span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26"> 26</a> </span> : | DISCLAIMED. IN NO EVENT SHALL CÉSAR D. RODAS BE LIABLE FOR ANY |
1533 <span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27"> 27</a> </span> : | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
1534 <span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28"> 28</a> </span> : | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
1535 <span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29"> 29</a> </span> : | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
1536 <span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30"> 30</a> </span> : | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
1537 <span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31"> 31</a> </span> : | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
1538 <span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32"> 32</a> </span> : | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE |
1539 <span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33"> 33</a> </span> : +---------------------------------------------------------------------------------+
1540 <span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34"> 34</a> </span> : | Authors: César Rodas &lt;crodas@php.net&gt; |
1541 <span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35"> 35</a> </span> : +---------------------------------------------------------------------------------+
1542 <span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36"> 36</a> </span> : */
1543 <span class="lineNum" id="container37"><a name="37"></a><a href="#37" id="line37"> 37</a> </span> :
1544 <span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38"> 38</a> </span> : // array get_document_vars(stdobj $obj) {{{
1545 <span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39"> 39</a> </span> : /**
1546 <span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40"> 40</a> </span> : * Simple hack to avoid get private and protected variables
1547 <span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41"> 41</a> </span> : *
1548 <span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42"> 42</a> </span> : * @param object $obj
1549 <span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43"> 43</a> </span> : * @param bool $include_id
1550 <span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44"> 44</a> </span> : *
1551 <span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45"> 45</a> </span> : * @return array
1552 <span class="lineNum" id="container46"><a name="46"></a><a href="#46" id="line46"> 46</a> </span> : */
1553 <span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47"> 47</a> </span> : function get_document_vars($obj, $include_id=TRUE)
1554 <span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48"> 48</a> </span> : {
1555 <span class="lineNum" id="container49"><a name="49"></a><a href="#49" id="line49"> 49</a> </span><span class="lineCov"> 36 : $document = get_object_vars($obj); </span>
1556 <span class="lineNum" id="container50"><a name="50"></a><a href="#50" id="line50"> 50</a> </span><span class="lineCov"> 36 : if ($include_id &amp;&amp; $obj-&gt;getID()) { </span>
1557 <span class="lineNum" id="container51"><a name="51"></a><a href="#51" id="line51"> 51</a> </span><span class="lineCov"> 11 : $document['_id'] = $obj-&gt;getID(); </span>
1558 <span class="lineNum" id="container52"><a name="52"></a><a href="#52" id="line52"> 52</a> </span><span class="lineCov"> 11 : } </span>
1559 <span class="lineNum" id="container53"><a name="53"></a><a href="#53" id="line53"> 53</a> </span><span class="lineCov"> 36 : return $document; </span>
1560 <span class="lineNum" id="container54"><a name="54"></a><a href="#54" id="line54"> 54</a> </span><span class="lineDeadCode"> : } </span>
1561 <span class="lineNum" id="container55"><a name="55"></a><a href="#55" id="line55"> 55</a> </span> : // }}}
1562 <span class="lineNum" id="container56"><a name="56"></a><a href="#56" id="line56"> 56</a> </span> :
1563 <span class="lineNum" id="container57"><a name="57"></a><a href="#57" id="line57"> 57</a> </span> : if (version_compare(PHP_VERSION, '5.3') &lt; 0) {
1564 <span class="lineNum" id="container58"><a name="58"></a><a href="#58" id="line58"> 58</a> </span> : require dirname(__FILE__).&quot;/Objects_compat.php&quot;;
1565 <span class="lineNum" id="container59"><a name="59"></a><a href="#59" id="line59"> 59</a> </span> : } else {
1566 <span class="lineNum" id="container60"><a name="60"></a><a href="#60" id="line60"> 60</a> </span> : require dirname(__FILE__).&quot;/Objects.php&quot;;
1567 <span class="lineNum" id="container61"><a name="61"></a><a href="#61" id="line61"> 61</a> </span> : }
1568 <span class="lineNum" id="container62"><a name="62"></a><a href="#62" id="line62"> 62</a> </span> :
1569 <span class="lineNum" id="container63"><a name="63"></a><a href="#63" id="line63"> 63</a> </span> : /**
1570 <span class="lineNum" id="container64"><a name="64"></a><a href="#64" id="line64"> 64</a> </span> : * ActiveMongo
1571 <span class="lineNum" id="container65"><a name="65"></a><a href="#65" id="line65"> 65</a> </span> : *
1572 <span class="lineNum" id="container66"><a name="66"></a><a href="#66" id="line66"> 66</a> </span> : * Simple ActiveRecord pattern built on top of MongoDB. This class
1573 <span class="lineNum" id="container67"><a name="67"></a><a href="#67" id="line67"> 67</a> </span> : * aims to provide easy iteration, data validation before update,
1574 <span class="lineNum" id="container68"><a name="68"></a><a href="#68" id="line68"> 68</a> </span> : * and efficient update.
1575 <span class="lineNum" id="container69"><a name="69"></a><a href="#69" id="line69"> 69</a> </span> : *
1576 <span class="lineNum" id="container70"><a name="70"></a><a href="#70" id="line70"> 70</a> </span> : * @author César D. Rodas &lt;crodas@php.net&gt;
1577 <span class="lineNum" id="container71"><a name="71"></a><a href="#71" id="line71"> 71</a> </span> : * @license BSD License
1578 <span class="lineNum" id="container72"><a name="72"></a><a href="#72" id="line72"> 72</a> </span> : * @package ActiveMongo
1579 <span class="lineNum" id="container73"><a name="73"></a><a href="#73" id="line73"> 73</a> </span> : * @version 1.0
1580 <span class="lineNum" id="container74"><a name="74"></a><a href="#74" id="line74"> 74</a> </span> : *
1581 <span class="lineNum" id="container75"><a name="75"></a><a href="#75" id="line75"> 75</a> </span> : */
1582 <span class="lineNum" id="container76"><a name="76"></a><a href="#76" id="line76"> 76</a> </span> : abstract class ActiveMongo implements Iterator, Countable, ArrayAccess
1583 <span class="lineNum" id="container77"><a name="77"></a><a href="#77" id="line77"> 77</a> </span> : {
1584 <span class="lineNum" id="container78"><a name="78"></a><a href="#78" id="line78"> 78</a> </span> :
1585 <span class="lineNum" id="container79"><a name="79"></a><a href="#79" id="line79"> 79</a> </span> : //{{{ Constants
1586 <span class="lineNum" id="container80"><a name="80"></a><a href="#80" id="line80"> 80</a> </span> : const FIND_AND_MODIFY = 0x001;
1587 <span class="lineNum" id="container81"><a name="81"></a><a href="#81" id="line81"> 81</a> </span> : // }}}
1588 <span class="lineNum" id="container82"><a name="82"></a><a href="#82" id="line82"> 82</a> </span> :
1589 <span class="lineNum" id="container83"><a name="83"></a><a href="#83" id="line83"> 83</a> </span> : // properties {{{
1590 <span class="lineNum" id="container84"><a name="84"></a><a href="#84" id="line84"> 84</a> </span> : /**
1591 <span class="lineNum" id="container85"><a name="85"></a><a href="#85" id="line85"> 85</a> </span> : * Current databases objects
1592 <span class="lineNum" id="container86"><a name="86"></a><a href="#86" id="line86"> 86</a> </span> : *
1593 <span class="lineNum" id="container87"><a name="87"></a><a href="#87" id="line87"> 87</a> </span> : * @type array
1594 <span class="lineNum" id="container88"><a name="88"></a><a href="#88" id="line88"> 88</a> </span> : */
1595 <span class="lineNum" id="container89"><a name="89"></a><a href="#89" id="line89"> 89</a> </span> : private static $_dbs;
1596 <span class="lineNum" id="container90"><a name="90"></a><a href="#90" id="line90"> 90</a> </span> : /**
1597 <span class="lineNum" id="container91"><a name="91"></a><a href="#91" id="line91"> 91</a> </span> : * Current namespace
1598 <span class="lineNum" id="container92"><a name="92"></a><a href="#92" id="line92"> 92</a> </span> : *
1599 <span class="lineNum" id="container93"><a name="93"></a><a href="#93" id="line93"> 93</a> </span> : * @type string
1600 <span class="lineNum" id="container94"><a name="94"></a><a href="#94" id="line94"> 94</a> </span> : */
1601 <span class="lineNum" id="container95"><a name="95"></a><a href="#95" id="line95"> 95</a> </span> : private static $_namespace = NULL;
1602 <span class="lineNum" id="container96"><a name="96"></a><a href="#96" id="line96"> 96</a> </span> : /**
1603 <span class="lineNum" id="container97"><a name="97"></a><a href="#97" id="line97"> 97</a> </span> : * Current collections objects
1604 <span class="lineNum" id="container98"><a name="98"></a><a href="#98" id="line98"> 98</a> </span> : *
1605 <span class="lineNum" id="container99"><a name="99"></a><a href="#99" id="line99"> 99</a> </span> : * @type array
1606 <span class="lineNum" id="container100"><a name="100"></a><a href="#100" id="line100"> 100</a> </span> : */
1607 <span class="lineNum" id="container101"><a name="101"></a><a href="#101" id="line101"> 101</a> </span> : private static $_collections;
1608 <span class="lineNum" id="container102"><a name="102"></a><a href="#102" id="line102"> 102</a> </span> : /**
1609 <span class="lineNum" id="container103"><a name="103"></a><a href="#103" id="line103"> 103</a> </span> : * Current connection to MongoDB
1610 <span class="lineNum" id="container104"><a name="104"></a><a href="#104" id="line104"> 104</a> </span> : *
1611 <span class="lineNum" id="container105"><a name="105"></a><a href="#105" id="line105"> 105</a> </span> : * @type MongoConnection
1612 <span class="lineNum" id="container106"><a name="106"></a><a href="#106" id="line106"> 106</a> </span> : */
1613 <span class="lineNum" id="container107"><a name="107"></a><a href="#107" id="line107"> 107</a> </span> : private static $_conn;
1614 <span class="lineNum" id="container108"><a name="108"></a><a href="#108" id="line108"> 108</a> </span> : /**
1615 <span class="lineNum" id="container109"><a name="109"></a><a href="#109" id="line109"> 109</a> </span> : * Database name
1616 <span class="lineNum" id="container110"><a name="110"></a><a href="#110" id="line110"> 110</a> </span> : *
1617 <span class="lineNum" id="container111"><a name="111"></a><a href="#111" id="line111"> 111</a> </span> : * @type string
1618 <span class="lineNum" id="container112"><a name="112"></a><a href="#112" id="line112"> 112</a> </span> : */
1619 <span class="lineNum" id="container113"><a name="113"></a><a href="#113" id="line113"> 113</a> </span> : private static $_db;
1620 <span class="lineNum" id="container114"><a name="114"></a><a href="#114" id="line114"> 114</a> </span> : /**
1621 <span class="lineNum" id="container115"><a name="115"></a><a href="#115" id="line115"> 115</a> </span> : * List of events handlers
1622 <span class="lineNum" id="container116"><a name="116"></a><a href="#116" id="line116"> 116</a> </span> : *
1623 <span class="lineNum" id="container117"><a name="117"></a><a href="#117" id="line117"> 117</a> </span> : * @type array
1624 <span class="lineNum" id="container118"><a name="118"></a><a href="#118" id="line118"> 118</a> </span> : */
1625 <span class="lineNum" id="container119"><a name="119"></a><a href="#119" id="line119"> 119</a> </span> : static private $_events = array();
1626 <span class="lineNum" id="container120"><a name="120"></a><a href="#120" id="line120"> 120</a> </span> : /**
1627 <span class="lineNum" id="container121"><a name="121"></a><a href="#121" id="line121"> 121</a> </span> : * List of global events handlers
1628 <span class="lineNum" id="container122"><a name="122"></a><a href="#122" id="line122"> 122</a> </span> : *
1629 <span class="lineNum" id="container123"><a name="123"></a><a href="#123" id="line123"> 123</a> </span> : * @type array
1630 <span class="lineNum" id="container124"><a name="124"></a><a href="#124" id="line124"> 124</a> </span> : */
1631 <span class="lineNum" id="container125"><a name="125"></a><a href="#125" id="line125"> 125</a> </span> : static private $_super_events = array();
1632 <span class="lineNum" id="container126"><a name="126"></a><a href="#126" id="line126"> 126</a> </span> : /**
1633 <span class="lineNum" id="container127"><a name="127"></a><a href="#127" id="line127"> 127</a> </span> : * Host name
1634 <span class="lineNum" id="container128"><a name="128"></a><a href="#128" id="line128"> 128</a> </span> : *
1635 <span class="lineNum" id="container129"><a name="129"></a><a href="#129" id="line129"> 129</a> </span> : * @type string
1636 <span class="lineNum" id="container130"><a name="130"></a><a href="#130" id="line130"> 130</a> </span> : */
1637 <span class="lineNum" id="container131"><a name="131"></a><a href="#131" id="line131"> 131</a> </span> : private static $_host;
1638 <span class="lineNum" id="container132"><a name="132"></a><a href="#132" id="line132"> 132</a> </span> : /**
1639 <span class="lineNum" id="container133"><a name="133"></a><a href="#133" id="line133"> 133</a> </span> : * User (Auth)
1640 <span class="lineNum" id="container134"><a name="134"></a><a href="#134" id="line134"> 134</a> </span> : *
1641 <span class="lineNum" id="container135"><a name="135"></a><a href="#135" id="line135"> 135</a> </span> : * @type string
1642 <span class="lineNum" id="container136"><a name="136"></a><a href="#136" id="line136"> 136</a> </span> : */
1643 <span class="lineNum" id="container137"><a name="137"></a><a href="#137" id="line137"> 137</a> </span> : private static $_user;
1644 <span class="lineNum" id="container138"><a name="138"></a><a href="#138" id="line138"> 138</a> </span> :
1645 <span class="lineNum" id="container139"><a name="139"></a><a href="#139" id="line139"> 139</a> </span> : /**
1646 <span class="lineNum" id="container140"><a name="140"></a><a href="#140" id="line140"> 140</a> </span> : * Password (Auth)
1647 <span class="lineNum" id="container141"><a name="141"></a><a href="#141" id="line141"> 141</a> </span> : *
1648 <span class="lineNum" id="container142"><a name="142"></a><a href="#142" id="line142"> 142</a> </span> : * @type string
1649 <span class="lineNum" id="container143"><a name="143"></a><a href="#143" id="line143"> 143</a> </span> : */
1650 <span class="lineNum" id="container144"><a name="144"></a><a href="#144" id="line144"> 144</a> </span> : private static $_pwd;
1651 <span class="lineNum" id="container145"><a name="145"></a><a href="#145" id="line145"> 145</a> </span> :
1652 <span class="lineNum" id="container146"><a name="146"></a><a href="#146" id="line146"> 146</a> </span> : /**
1653 <span class="lineNum" id="container147"><a name="147"></a><a href="#147" id="line147"> 147</a> </span> : * Current document
1654 <span class="lineNum" id="container148"><a name="148"></a><a href="#148" id="line148"> 148</a> </span> : *
1655 <span class="lineNum" id="container149"><a name="149"></a><a href="#149" id="line149"> 149</a> </span> : * @type array
1656 <span class="lineNum" id="container150"><a name="150"></a><a href="#150" id="line150"> 150</a> </span> : */
1657 <span class="lineNum" id="container151"><a name="151"></a><a href="#151" id="line151"> 151</a> </span> : private $_current = array();
1658 <span class="lineNum" id="container152"><a name="152"></a><a href="#152" id="line152"> 152</a> </span> : /**
1659 <span class="lineNum" id="container153"><a name="153"></a><a href="#153" id="line153"> 153</a> </span> : * Result cursor
1660 <span class="lineNum" id="container154"><a name="154"></a><a href="#154" id="line154"> 154</a> </span> : *
1661 <span class="lineNum" id="container155"><a name="155"></a><a href="#155" id="line155"> 155</a> </span> : * @type MongoCursor
1662 <span class="lineNum" id="container156"><a name="156"></a><a href="#156" id="line156"> 156</a> </span> : */
1663 <span class="lineNum" id="container157"><a name="157"></a><a href="#157" id="line157"> 157</a> </span> : private $_cursor = NULL;
1664 <span class="lineNum" id="container158"><a name="158"></a><a href="#158" id="line158"> 158</a> </span> : /**
1665 <span class="lineNum" id="container159"><a name="159"></a><a href="#159" id="line159"> 159</a> </span> : * Extended result cursor, used for FindAndModify now
1666 <span class="lineNum" id="container160"><a name="160"></a><a href="#160" id="line160"> 160</a> </span> : *
1667 <span class="lineNum" id="container161"><a name="161"></a><a href="#161" id="line161"> 161</a> </span> : * @type int
1668 <span class="lineNum" id="container162"><a name="162"></a><a href="#162" id="line162"> 162</a> </span> : */
1669 <span class="lineNum" id="container163"><a name="163"></a><a href="#163" id="line163"> 163</a> </span> : private $_cursor_ex = NULL;
1670 <span class="lineNum" id="container164"><a name="164"></a><a href="#164" id="line164"> 164</a> </span> : private $_cursor_ex_value;
1671 <span class="lineNum" id="container165"><a name="165"></a><a href="#165" id="line165"> 165</a> </span> : /**
1672 <span class="lineNum" id="container166"><a name="166"></a><a href="#166" id="line166"> 166</a> </span> : * Count the findandmodify result counts
1673 <span class="lineNum" id="container167"><a name="167"></a><a href="#167" id="line167"> 167</a> </span> : *
1674 <span class="lineNum" id="container168"><a name="168"></a><a href="#168" id="line168"> 168</a> </span> : * @tyep array
1675 <span class="lineNum" id="container169"><a name="169"></a><a href="#169" id="line169"> 169</a> </span> : */
1676 <span class="lineNum" id="container170"><a name="170"></a><a href="#170" id="line170"> 170</a> </span> : private $_findandmodify_cnt = 0;
1677 <span class="lineNum" id="container171"><a name="171"></a><a href="#171" id="line171"> 171</a> </span> : /* value to modify */
1678 <span class="lineNum" id="container172"><a name="172"></a><a href="#172" id="line172"> 172</a> </span> : private $_findandmodify;
1679 <span class="lineNum" id="container173"><a name="173"></a><a href="#173" id="line173"> 173</a> </span> :
1680 <span class="lineNum" id="container174"><a name="174"></a><a href="#174" id="line174"> 174</a> </span> : /* {{{ Silly but useful query abstraction */
1681 <span class="lineNum" id="container175"><a name="175"></a><a href="#175" id="line175"> 175</a> </span> : private $_cached = FALSE;
1682 <span class="lineNum" id="container176"><a name="176"></a><a href="#176" id="line176"> 176</a> </span> : private $_query = NULL;
1683 <span class="lineNum" id="container177"><a name="177"></a><a href="#177" id="line177"> 177</a> </span> : private $_sort = NULL;
1684 <span class="lineNum" id="container178"><a name="178"></a><a href="#178" id="line178"> 178</a> </span> : private $_limit = 0;
1685 <span class="lineNum" id="container179"><a name="179"></a><a href="#179" id="line179"> 179</a> </span> : private $_skip = 0;
1686 <span class="lineNum" id="container180"><a name="180"></a><a href="#180" id="line180"> 180</a> </span> : private $_properties = NULL;
1687 <span class="lineNum" id="container181"><a name="181"></a><a href="#181" id="line181"> 181</a> </span> : /* }}} */
1688 <span class="lineNum" id="container182"><a name="182"></a><a href="#182" id="line182"> 182</a> </span> :
1689 <span class="lineNum" id="container183"><a name="183"></a><a href="#183" id="line183"> 183</a> </span> : /**
1690 <span class="lineNum" id="container184"><a name="184"></a><a href="#184" id="line184"> 184</a> </span> : * Current document ID
1691 <span class="lineNum" id="container185"><a name="185"></a><a href="#185" id="line185"> 185</a> </span> : *
1692 <span class="lineNum" id="container186"><a name="186"></a><a href="#186" id="line186"> 186</a> </span> : * @type MongoID
1693 <span class="lineNum" id="container187"><a name="187"></a><a href="#187" id="line187"> 187</a> </span> : */
1694 <span class="lineNum" id="container188"><a name="188"></a><a href="#188" id="line188"> 188</a> </span> : private $_id;
1695 <span class="lineNum" id="container189"><a name="189"></a><a href="#189" id="line189"> 189</a> </span> :
1696 <span class="lineNum" id="container190"><a name="190"></a><a href="#190" id="line190"> 190</a> </span> : /**
1697 <span class="lineNum" id="container191"><a name="191"></a><a href="#191" id="line191"> 191</a> </span> : * Tell if the current object
1698 <span class="lineNum" id="container192"><a name="192"></a><a href="#192" id="line192"> 192</a> </span> : * is cloned or not.
1699 <span class="lineNum" id="container193"><a name="193"></a><a href="#193" id="line193"> 193</a> </span> : *
1700 <span class="lineNum" id="container194"><a name="194"></a><a href="#194" id="line194"> 194</a> </span> : * @type bool
1701 <span class="lineNum" id="container195"><a name="195"></a><a href="#195" id="line195"> 195</a> </span> : */
1702 <span class="lineNum" id="container196"><a name="196"></a><a href="#196" id="line196"> 196</a> </span> : private $_cloned = FALSE;
1703 <span class="lineNum" id="container197"><a name="197"></a><a href="#197" id="line197"> 197</a> </span> : // }}}
1704 <span class="lineNum" id="container198"><a name="198"></a><a href="#198" id="line198"> 198</a> </span> :
1705 <span class="lineNum" id="container199"><a name="199"></a><a href="#199" id="line199"> 199</a> </span> : // GET CONNECTION CONFIG {{{
1706 <span class="lineNum" id="container200"><a name="200"></a><a href="#200" id="line200"> 200</a> </span> :
1707 <span class="lineNum" id="container201"><a name="201"></a><a href="#201" id="line201"> 201</a> </span> : final static function setNameSpace($namespace)
1708 <span class="lineNum" id="container202"><a name="202"></a><a href="#202" id="line202"> 202</a> </span> : {
1709 <span class="lineNum" id="container203"><a name="203"></a><a href="#203" id="line203"> 203</a> </span><span class="lineCov"> 1 : self::$_namespace = $namespace; </span>
1710 <span class="lineNum" id="container204"><a name="204"></a><a href="#204" id="line204"> 204</a> </span><span class="lineCov"> 1 : } </span>
1711 <span class="lineNum" id="container205"><a name="205"></a><a href="#205" id="line205"> 205</a> </span> :
1712 <span class="lineNum" id="container206"><a name="206"></a><a href="#206" id="line206"> 206</a> </span> : final public function collectionName()
1713 <span class="lineNum" id="container207"><a name="207"></a><a href="#207" id="line207"> 207</a> </span> : {
1714 <span class="lineNum" id="container208"><a name="208"></a><a href="#208" id="line208"> 208</a> </span><span class="lineCov"> 42 : $collection = ''; </span>
1715 <span class="lineNum" id="container209"><a name="209"></a><a href="#209" id="line209"> 209</a> </span><span class="lineCov"> 42 : if (self::$_namespace) { </span>
1716 <span class="lineNum" id="container210"><a name="210"></a><a href="#210" id="line210"> 210</a> </span><span class="lineCov"> 1 : $collection = self::$_namespace.&quot;.&quot;; </span>
1717 <span class="lineNum" id="container211"><a name="211"></a><a href="#211" id="line211"> 211</a> </span><span class="lineCov"> 1 : } </span>
1718 <span class="lineNum" id="container212"><a name="212"></a><a href="#212" id="line212"> 212</a> </span><span class="lineCov"> 42 : if (isset($this)) { </span>
1719 <span class="lineNum" id="container213"><a name="213"></a><a href="#213" id="line213"> 213</a> </span><span class="lineCov"> 41 : $collection .= $this-&gt;getCollectionName(); </span>
1720 <span class="lineNum" id="container214"><a name="214"></a><a href="#214" id="line214"> 214</a> </span><span class="lineCov"> 41 : } else { </span>
1721 <span class="lineNum" id="container215"><a name="215"></a><a href="#215" id="line215"> 215</a> </span><span class="lineCov"> 4 : $collection .= self::getCollectionName(); </span>
1722 <span class="lineNum" id="container216"><a name="216"></a><a href="#216" id="line216"> 216</a> </span> : }
1723 <span class="lineNum" id="container217"><a name="217"></a><a href="#217" id="line217"> 217</a> </span><span class="lineCov"> 42 : return $collection; </span>
1724 <span class="lineNum" id="container218"><a name="218"></a><a href="#218" id="line218"> 218</a> </span><span class="lineDeadCode"> : } </span>
1725 <span class="lineNum" id="container219"><a name="219"></a><a href="#219" id="line219"> 219</a> </span> :
1726 <span class="lineNum" id="container220"><a name="220"></a><a href="#220" id="line220"> 220</a> </span> : // string getCollectionName() {{{
1727 <span class="lineNum" id="container221"><a name="221"></a><a href="#221" id="line221"> 221</a> </span> : /**
1728 <span class="lineNum" id="container222"><a name="222"></a><a href="#222" id="line222"> 222</a> </span> : * Get Collection Name, by default the class name,
1729 <span class="lineNum" id="container223"><a name="223"></a><a href="#223" id="line223"> 223</a> </span> : * but you it can be override at the class itself to give
1730 <span class="lineNum" id="container224"><a name="224"></a><a href="#224" id="line224"> 224</a> </span> : * a custom name.
1731 <span class="lineNum" id="container225"><a name="225"></a><a href="#225" id="line225"> 225</a> </span> : *
1732 <span class="lineNum" id="container226"><a name="226"></a><a href="#226" id="line226"> 226</a> </span> : * @return string Collection Name
1733 <span class="lineNum" id="container227"><a name="227"></a><a href="#227" id="line227"> 227</a> </span> : */
1734 <span class="lineNum" id="container228"><a name="228"></a><a href="#228" id="line228"> 228</a> </span> : protected function getCollectionName()
1735 <span class="lineNum" id="container229"><a name="229"></a><a href="#229" id="line229"> 229</a> </span> : {
1736 <span class="lineNum" id="container230"><a name="230"></a><a href="#230" id="line230"> 230</a> </span><span class="lineCov"> 42 : if (isset($this)) { </span>
1737 <span class="lineNum" id="container231"><a name="231"></a><a href="#231" id="line231"> 231</a> </span><span class="lineCov"> 41 : return strtolower(get_class($this)); </span>
1738 <span class="lineNum" id="container232"><a name="232"></a><a href="#232" id="line232"> 232</a> </span><span class="lineDeadCode"> : } else { </span>
1739 <span class="lineNum" id="container233"><a name="233"></a><a href="#233" id="line233"> 233</a> </span><span class="lineCov"> 4 : return strtolower(get_called_class()); </span>
1740 <span class="lineNum" id="container234"><a name="234"></a><a href="#234" id="line234"> 234</a> </span> : }
1741 <span class="lineNum" id="container235"><a name="235"></a><a href="#235" id="line235"> 235</a> </span><span class="lineDeadCode"> : } </span>
1742 <span class="lineNum" id="container236"><a name="236"></a><a href="#236" id="line236"> 236</a> </span> : // }}}
1743 <span class="lineNum" id="container237"><a name="237"></a><a href="#237" id="line237"> 237</a> </span> :
1744 <span class="lineNum" id="container238"><a name="238"></a><a href="#238" id="line238"> 238</a> </span> : // string getDatabaseName() {{{
1745 <span class="lineNum" id="container239"><a name="239"></a><a href="#239" id="line239"> 239</a> </span> : /**
1746 <span class="lineNum" id="container240"><a name="240"></a><a href="#240" id="line240"> 240</a> </span> : * Get Database Name, by default it is used
1747 <span class="lineNum" id="container241"><a name="241"></a><a href="#241" id="line241"> 241</a> </span> : * the db name set by ActiveMong::connect()
1748 <span class="lineNum" id="container242"><a name="242"></a><a href="#242" id="line242"> 242</a> </span> : *
1749 <span class="lineNum" id="container243"><a name="243"></a><a href="#243" id="line243"> 243</a> </span> : * @return string DB Name
1750 <span class="lineNum" id="container244"><a name="244"></a><a href="#244" id="line244"> 244</a> </span> : */
1751 <span class="lineNum" id="container245"><a name="245"></a><a href="#245" id="line245"> 245</a> </span> : protected function getDatabaseName()
1752 <span class="lineNum" id="container246"><a name="246"></a><a href="#246" id="line246"> 246</a> </span> : {
1753 <span class="lineNum" id="container247"><a name="247"></a><a href="#247" id="line247"> 247</a> </span><span class="lineCov"> 10 : if (is_NULL(self::$_db)) { </span>
1754 <span class="lineNum" id="container248"><a name="248"></a><a href="#248" id="line248"> 248</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;There is no information about the default DB name&quot;); </span>
1755 <span class="lineNum" id="container249"><a name="249"></a><a href="#249" id="line249"> 249</a> </span><span class="lineDeadCode"> : } </span>
1756 <span class="lineNum" id="container250"><a name="250"></a><a href="#250" id="line250"> 250</a> </span><span class="lineCov"> 10 : return self::$_db; </span>
1757 <span class="lineNum" id="container251"><a name="251"></a><a href="#251" id="line251"> 251</a> </span><span class="lineDeadCode"> : } </span>
1758 <span class="lineNum" id="container252"><a name="252"></a><a href="#252" id="line252"> 252</a> </span> : // }}}
1759 <span class="lineNum" id="container253"><a name="253"></a><a href="#253" id="line253"> 253</a> </span> :
1760 <span class="lineNum" id="container254"><a name="254"></a><a href="#254" id="line254"> 254</a> </span> : // void install() {{{
1761 <span class="lineNum" id="container255"><a name="255"></a><a href="#255" id="line255"> 255</a> </span> : /**
1762 <span class="lineNum" id="container256"><a name="256"></a><a href="#256" id="line256"> 256</a> </span> : * Install.
1763 <span class="lineNum" id="container257"><a name="257"></a><a href="#257" id="line257"> 257</a> </span> : *
1764 <span class="lineNum" id="container258"><a name="258"></a><a href="#258" id="line258"> 258</a> </span> : * This static method iterate over the classes lists,
1765 <span class="lineNum" id="container259"><a name="259"></a><a href="#259" id="line259"> 259</a> </span> : * and execute the setup() method on every ActiveMongo
1766 <span class="lineNum" id="container260"><a name="260"></a><a href="#260" id="line260"> 260</a> </span> : * subclass. You should do this just once.
1767 <span class="lineNum" id="container261"><a name="261"></a><a href="#261" id="line261"> 261</a> </span> : *
1768 <span class="lineNum" id="container262"><a name="262"></a><a href="#262" id="line262"> 262</a> </span> : */
1769 <span class="lineNum" id="container263"><a name="263"></a><a href="#263" id="line263"> 263</a> </span> : final public static function install()
1770 <span class="lineNum" id="container264"><a name="264"></a><a href="#264" id="line264"> 264</a> </span> : {
1771 <span class="lineNum" id="container265"><a name="265"></a><a href="#265" id="line265"> 265</a> </span><span class="lineCov"> 1 : $classes = array_reverse(get_declared_classes()); </span>
1772 <span class="lineNum" id="container266"><a name="266"></a><a href="#266" id="line266"> 266</a> </span><span class="lineCov"> 1 : foreach ($classes as $class) </span>
1773 <span class="lineNum" id="container267"><a name="267"></a><a href="#267" id="line267"> 267</a> </span> : {
1774 <span class="lineNum" id="container268"><a name="268"></a><a href="#268" id="line268"> 268</a> </span><span class="lineCov"> 1 : if ($class == __CLASS__) { </span>
1775 <span class="lineNum" id="container269"><a name="269"></a><a href="#269" id="line269"> 269</a> </span><span class="lineCov"> 1 : break; </span>
1776 <span class="lineNum" id="container270"><a name="270"></a><a href="#270" id="line270"> 270</a> </span><span class="lineDeadCode"> : } </span>
1777 <span class="lineNum" id="container271"><a name="271"></a><a href="#271" id="line271"> 271</a> </span><span class="lineCov"> 1 : if (is_subclass_of($class, __CLASS__)) { </span>
1778 <span class="lineNum" id="container272"><a name="272"></a><a href="#272" id="line272"> 272</a> </span><span class="lineCov"> 1 : $obj = new $class; </span>
1779 <span class="lineNum" id="container273"><a name="273"></a><a href="#273" id="line273"> 273</a> </span><span class="lineCov"> 1 : $obj-&gt;setup(); </span>
1780 <span class="lineNum" id="container274"><a name="274"></a><a href="#274" id="line274"> 274</a> </span><span class="lineCov"> 1 : } </span>
1781 <span class="lineNum" id="container275"><a name="275"></a><a href="#275" id="line275"> 275</a> </span><span class="lineCov"> 1 : } </span>
1782 <span class="lineNum" id="container276"><a name="276"></a><a href="#276" id="line276"> 276</a> </span><span class="lineCov"> 1 : } </span>
1783 <span class="lineNum" id="container277"><a name="277"></a><a href="#277" id="line277"> 277</a> </span> : // }}}
1784 <span class="lineNum" id="container278"><a name="278"></a><a href="#278" id="line278"> 278</a> </span> :
1785 <span class="lineNum" id="container279"><a name="279"></a><a href="#279" id="line279"> 279</a> </span> : // void connection($db, $host) {{{
1786 <span class="lineNum" id="container280"><a name="280"></a><a href="#280" id="line280"> 280</a> </span> : /**
1787 <span class="lineNum" id="container281"><a name="281"></a><a href="#281" id="line281"> 281</a> </span> : * Connect
1788 <span class="lineNum" id="container282"><a name="282"></a><a href="#282" id="line282"> 282</a> </span> : *
1789 <span class="lineNum" id="container283"><a name="283"></a><a href="#283" id="line283"> 283</a> </span> : * This method setup parameters to connect to a MongoDB
1790 <span class="lineNum" id="container284"><a name="284"></a><a href="#284" id="line284"> 284</a> </span> : * database. The connection is done when it is needed.
1791 <span class="lineNum" id="container285"><a name="285"></a><a href="#285" id="line285"> 285</a> </span> : *
1792 <span class="lineNum" id="container286"><a name="286"></a><a href="#286" id="line286"> 286</a> </span> : * @param string $db Database name
1793 <span class="lineNum" id="container287"><a name="287"></a><a href="#287" id="line287"> 287</a> </span> : * @param string $host Host to connect
1794 <span class="lineNum" id="container288"><a name="288"></a><a href="#288" id="line288"> 288</a> </span> : * @param string $user User (Auth)
1795 <span class="lineNum" id="container289"><a name="289"></a><a href="#289" id="line289"> 289</a> </span> : * @param string $pwd Password (Auth)
1796 <span class="lineNum" id="container290"><a name="290"></a><a href="#290" id="line290"> 290</a> </span> : *
1797 <span class="lineNum" id="container291"><a name="291"></a><a href="#291" id="line291"> 291</a> </span> : * @return void
1798 <span class="lineNum" id="container292"><a name="292"></a><a href="#292" id="line292"> 292</a> </span> : */
1799 <span class="lineNum" id="container293"><a name="293"></a><a href="#293" id="line293"> 293</a> </span> : final public static function connect($db, $host='localhost', $user = NULL, $pwd=NULL)
1800 <span class="lineNum" id="container294"><a name="294"></a><a href="#294" id="line294"> 294</a> </span> : {
1801 <span class="lineNum" id="container295"><a name="295"></a><a href="#295" id="line295"> 295</a> </span><span class="lineCov"> 1 : self::$_host = $host; </span>
1802 <span class="lineNum" id="container296"><a name="296"></a><a href="#296" id="line296"> 296</a> </span><span class="lineCov"> 1 : self::$_db = $db; </span>
1803 <span class="lineNum" id="container297"><a name="297"></a><a href="#297" id="line297"> 297</a> </span><span class="lineCov"> 1 : self::$_user = $user; </span>
1804 <span class="lineNum" id="container298"><a name="298"></a><a href="#298" id="line298"> 298</a> </span><span class="lineCov"> 1 : self::$_pwd = $pwd; </span>
1805 <span class="lineNum" id="container299"><a name="299"></a><a href="#299" id="line299"> 299</a> </span><span class="lineCov"> 1 : } </span>
1806 <span class="lineNum" id="container300"><a name="300"></a><a href="#300" id="line300"> 300</a> </span> : // }}}
1807 <span class="lineNum" id="container301"><a name="301"></a><a href="#301" id="line301"> 301</a> </span> :
1808 <span class="lineNum" id="container302"><a name="302"></a><a href="#302" id="line302"> 302</a> </span> : // MongoConnection _getConnection() {{{
1809 <span class="lineNum" id="container303"><a name="303"></a><a href="#303" id="line303"> 303</a> </span> : /**
1810 <span class="lineNum" id="container304"><a name="304"></a><a href="#304" id="line304"> 304</a> </span> : * Get Connection
1811 <span class="lineNum" id="container305"><a name="305"></a><a href="#305" id="line305"> 305</a> </span> : *
1812 <span class="lineNum" id="container306"><a name="306"></a><a href="#306" id="line306"> 306</a> </span> : * Get a valid database connection
1813 <span class="lineNum" id="container307"><a name="307"></a><a href="#307" id="line307"> 307</a> </span> : *
1814 <span class="lineNum" id="container308"><a name="308"></a><a href="#308" id="line308"> 308</a> </span> : * @return MongoConnection
1815 <span class="lineNum" id="container309"><a name="309"></a><a href="#309" id="line309"> 309</a> </span> : */
1816 <span class="lineNum" id="container310"><a name="310"></a><a href="#310" id="line310"> 310</a> </span> : final protected function _getConnection()
1817 <span class="lineNum" id="container311"><a name="311"></a><a href="#311" id="line311"> 311</a> </span> : {
1818 <span class="lineNum" id="container312"><a name="312"></a><a href="#312" id="line312"> 312</a> </span><span class="lineCov"> 6 : if (is_NULL(self::$_conn)) { </span>
1819 <span class="lineNum" id="container313"><a name="313"></a><a href="#313" id="line313"> 313</a> </span><span class="lineNoCov"> 0 : if (is_NULL(self::$_host)) { </span>
1820 <span class="lineNum" id="container314"><a name="314"></a><a href="#314" id="line314"> 314</a> </span><span class="lineNoCov"> 0 : self::$_host = 'localhost'; </span>
1821 <span class="lineNum" id="container315"><a name="315"></a><a href="#315" id="line315"> 315</a> </span><span class="lineNoCov"> 0 : } </span>
1822 <span class="lineNum" id="container316"><a name="316"></a><a href="#316" id="line316"> 316</a> </span><span class="lineNoCov"> 0 : self::$_conn = new Mongo(self::$_host); </span>
1823 <span class="lineNum" id="container317"><a name="317"></a><a href="#317" id="line317"> 317</a> </span><span class="lineNoCov"> 0 : } </span>
1824 <span class="lineNum" id="container318"><a name="318"></a><a href="#318" id="line318"> 318</a> </span><span class="lineCov"> 6 : if (isset($this)) { </span>
1825 <span class="lineNum" id="container319"><a name="319"></a><a href="#319" id="line319"> 319</a> </span><span class="lineCov"> 6 : $dbname = $this-&gt;getDatabaseName(); </span>
1826 <span class="lineNum" id="container320"><a name="320"></a><a href="#320" id="line320"> 320</a> </span><span class="lineCov"> 6 : } else { </span>
1827 <span class="lineNum" id="container321"><a name="321"></a><a href="#321" id="line321"> 321</a> </span><span class="lineNoCov"> 0 : $dbname = self::getDatabaseName(); </span>
1828 <span class="lineNum" id="container322"><a name="322"></a><a href="#322" id="line322"> 322</a> </span> : }
1829 <span class="lineNum" id="container323"><a name="323"></a><a href="#323" id="line323"> 323</a> </span><span class="lineCov"> 6 : if (!isSet(self::$_dbs[$dbname])) { </span>
1830 <span class="lineNum" id="container324"><a name="324"></a><a href="#324" id="line324"> 324</a> </span><span class="lineCov"> 1 : self::$_dbs[$dbname] = self::$_conn-&gt;selectDB($dbname); </span>
1831 <span class="lineNum" id="container325"><a name="325"></a><a href="#325" id="line325"> 325</a> </span><span class="lineCov"> 1 : } </span>
1832 <span class="lineNum" id="container326"><a name="326"></a><a href="#326" id="line326"> 326</a> </span><span class="lineCov"> 6 : if ( !is_NULL(self::$_user ) &amp;&amp; !is_NULL(self::$_pwd ) ) { </span>
1833 <span class="lineNum" id="container327"><a name="327"></a><a href="#327" id="line327"> 327</a> </span><span class="lineNoCov"> 0 : self::$_dbs[$dbname]-&gt;authenticate(self::$_user,self::$_pwd); </span>
1834 <span class="lineNum" id="container328"><a name="328"></a><a href="#328" id="line328"> 328</a> </span><span class="lineNoCov"> 0 : } </span>
1835 <span class="lineNum" id="container329"><a name="329"></a><a href="#329" id="line329"> 329</a> </span> :
1836 <span class="lineNum" id="container330"><a name="330"></a><a href="#330" id="line330"> 330</a> </span> :
1837 <span class="lineNum" id="container331"><a name="331"></a><a href="#331" id="line331"> 331</a> </span><span class="lineCov"> 6 : return self::$_dbs[$dbname]; </span>
1838 <span class="lineNum" id="container332"><a name="332"></a><a href="#332" id="line332"> 332</a> </span><span class="lineDeadCode"> : } </span>
1839 <span class="lineNum" id="container333"><a name="333"></a><a href="#333" id="line333"> 333</a> </span> : // }}}
1840 <span class="lineNum" id="container334"><a name="334"></a><a href="#334" id="line334"> 334</a> </span> :
1841 <span class="lineNum" id="container335"><a name="335"></a><a href="#335" id="line335"> 335</a> </span> : // MongoCollection _getCollection() {{{
1842 <span class="lineNum" id="container336"><a name="336"></a><a href="#336" id="line336"> 336</a> </span> : /**
1843 <span class="lineNum" id="container337"><a name="337"></a><a href="#337" id="line337"> 337</a> </span> : * Get Collection
1844 <span class="lineNum" id="container338"><a name="338"></a><a href="#338" id="line338"> 338</a> </span> : *
1845 <span class="lineNum" id="container339"><a name="339"></a><a href="#339" id="line339"> 339</a> </span> : * Get a collection connection.
1846 <span class="lineNum" id="container340"><a name="340"></a><a href="#340" id="line340"> 340</a> </span> : *
1847 <span class="lineNum" id="container341"><a name="341"></a><a href="#341" id="line341"> 341</a> </span> : * @return MongoCollection
1848 <span class="lineNum" id="container342"><a name="342"></a><a href="#342" id="line342"> 342</a> </span> : */
1849 <span class="lineNum" id="container343"><a name="343"></a><a href="#343" id="line343"> 343</a> </span> : final protected function _getCollection()
1850 <span class="lineNum" id="container344"><a name="344"></a><a href="#344" id="line344"> 344</a> </span> : {
1851 <span class="lineNum" id="container345"><a name="345"></a><a href="#345" id="line345"> 345</a> </span><span class="lineCov"> 39 : if (isset($this)) { </span>
1852 <span class="lineNum" id="container346"><a name="346"></a><a href="#346" id="line346"> 346</a> </span><span class="lineCov"> 38 : $colName = $this-&gt;CollectionName(); </span>
1853 <span class="lineNum" id="container347"><a name="347"></a><a href="#347" id="line347"> 347</a> </span><span class="lineCov"> 38 : } else { </span>
1854 <span class="lineNum" id="container348"><a name="348"></a><a href="#348" id="line348"> 348</a> </span><span class="lineCov"> 4 : $colName = self::CollectionName(); </span>
1855 <span class="lineNum" id="container349"><a name="349"></a><a href="#349" id="line349"> 349</a> </span> : }
1856 <span class="lineNum" id="container350"><a name="350"></a><a href="#350" id="line350"> 350</a> </span><span class="lineCov"> 39 : if (!isset(self::$_collections[$colName])) { </span>
1857 <span class="lineNum" id="container351"><a name="351"></a><a href="#351" id="line351"> 351</a> </span><span class="lineCov"> 3 : self::$_collections[$colName] = self::_getConnection()-&gt;selectCollection($colName); </span>
1858 <span class="lineNum" id="container352"><a name="352"></a><a href="#352" id="line352"> 352</a> </span><span class="lineCov"> 3 : } </span>
1859 <span class="lineNum" id="container353"><a name="353"></a><a href="#353" id="line353"> 353</a> </span><span class="lineCov"> 39 : return self::$_collections[$colName]; </span>
1860 <span class="lineNum" id="container354"><a name="354"></a><a href="#354" id="line354"> 354</a> </span><span class="lineDeadCode"> : } </span>
1861 <span class="lineNum" id="container355"><a name="355"></a><a href="#355" id="line355"> 355</a> </span> : // }}}
1862 <span class="lineNum" id="container356"><a name="356"></a><a href="#356" id="line356"> 356</a> </span> :
1863 <span class="lineNum" id="container357"><a name="357"></a><a href="#357" id="line357"> 357</a> </span> : // }}}
1864 <span class="lineNum" id="container358"><a name="358"></a><a href="#358" id="line358"> 358</a> </span> :
1865 <span class="lineNum" id="container359"><a name="359"></a><a href="#359" id="line359"> 359</a> </span> : // GET DOCUMENT TO SAVE OR UPDATE {{{
1866 <span class="lineNum" id="container360"><a name="360"></a><a href="#360" id="line360"> 360</a> </span> :
1867 <span class="lineNum" id="container361"><a name="361"></a><a href="#361" id="line361"> 361</a> </span> : // getDocumentVars() {{{
1868 <span class="lineNum" id="container362"><a name="362"></a><a href="#362" id="line362"> 362</a> </span> : /**
1869 <span class="lineNum" id="container363"><a name="363"></a><a href="#363" id="line363"> 363</a> </span> : * getDocumentVars
1870 <span class="lineNum" id="container364"><a name="364"></a><a href="#364" id="line364"> 364</a> </span> : *
1871 <span class="lineNum" id="container365"><a name="365"></a><a href="#365" id="line365"> 365</a> </span> : *
1872 <span class="lineNum" id="container366"><a name="366"></a><a href="#366" id="line366"> 366</a> </span> : *
1873 <span class="lineNum" id="container367"><a name="367"></a><a href="#367" id="line367"> 367</a> </span> : */
1874 <span class="lineNum" id="container368"><a name="368"></a><a href="#368" id="line368"> 368</a> </span> : final protected function getDocumentVars()
1875 <span class="lineNum" id="container369"><a name="369"></a><a href="#369" id="line369"> 369</a> </span> : {
1876 <span class="lineNum" id="container370"><a name="370"></a><a href="#370" id="line370"> 370</a> </span><span class="lineCov"> 20 : $variables = array(); </span>
1877 <span class="lineNum" id="container371"><a name="371"></a><a href="#371" id="line371"> 371</a> </span><span class="lineCov"> 20 : foreach ((array)$this-&gt;__sleep() as $var) { </span>
1878 <span class="lineNum" id="container372"><a name="372"></a><a href="#372" id="line372"> 372</a> </span><span class="lineCov"> 20 : if (!property_exists($this, $var)) { </span>
1879 <span class="lineNum" id="container373"><a name="373"></a><a href="#373" id="line373"> 373</a> </span><span class="lineCov"> 8 : continue; </span>
1880 <span class="lineNum" id="container374"><a name="374"></a><a href="#374" id="line374"> 374</a> </span><span class="lineDeadCode"> : } </span>
1881 <span class="lineNum" id="container375"><a name="375"></a><a href="#375" id="line375"> 375</a> </span><span class="lineCov"> 20 : $variables[$var] = $this-&gt;$var; </span>
1882 <span class="lineNum" id="container376"><a name="376"></a><a href="#376" id="line376"> 376</a> </span><span class="lineCov"> 20 : } </span>
1883 <span class="lineNum" id="container377"><a name="377"></a><a href="#377" id="line377"> 377</a> </span><span class="lineCov"> 20 : return $variables; </span>
1884 <span class="lineNum" id="container378"><a name="378"></a><a href="#378" id="line378"> 378</a> </span><span class="lineDeadCode"> : } </span>
1885 <span class="lineNum" id="container379"><a name="379"></a><a href="#379" id="line379"> 379</a> </span> : // }}}
1886 <span class="lineNum" id="container380"><a name="380"></a><a href="#380" id="line380"> 380</a> </span> :
1887 <span class="lineNum" id="container381"><a name="381"></a><a href="#381" id="line381"> 381</a> </span> : // bool getCurrentSubDocument(array &amp;$document, string $parent_key, array $values, array $past_values) {{{
1888 <span class="lineNum" id="container382"><a name="382"></a><a href="#382" id="line382"> 382</a> </span> : /**
1889 <span class="lineNum" id="container383"><a name="383"></a><a href="#383" id="line383"> 383</a> </span> : * Generate Sub-document
1890 <span class="lineNum" id="container384"><a name="384"></a><a href="#384" id="line384"> 384</a> </span> : *
1891 <span class="lineNum" id="container385"><a name="385"></a><a href="#385" id="line385"> 385</a> </span> : * This method build the difference between the current sub-document,
1892 <span class="lineNum" id="container386"><a name="386"></a><a href="#386" id="line386"> 386</a> </span> : * and the origin one. If there is no difference, it would do nothing,
1893 <span class="lineNum" id="container387"><a name="387"></a><a href="#387" id="line387"> 387</a> </span> : * otherwise it would build a document containing the differences.
1894 <span class="lineNum" id="container388"><a name="388"></a><a href="#388" id="line388"> 388</a> </span> : *
1895 <span class="lineNum" id="container389"><a name="389"></a><a href="#389" id="line389"> 389</a> </span> : * @param array &amp;$document Document target
1896 <span class="lineNum" id="container390"><a name="390"></a><a href="#390" id="line390"> 390</a> </span> : * @param string $parent_key Parent key name
1897 <span class="lineNum" id="container391"><a name="391"></a><a href="#391" id="line391"> 391</a> </span> : * @param array $values Current values
1898 <span class="lineNum" id="container392"><a name="392"></a><a href="#392" id="line392"> 392</a> </span> : * @param array $past_values Original values
1899 <span class="lineNum" id="container393"><a name="393"></a><a href="#393" id="line393"> 393</a> </span> : *
1900 <span class="lineNum" id="container394"><a name="394"></a><a href="#394" id="line394"> 394</a> </span> : * @return FALSE
1901 <span class="lineNum" id="container395"><a name="395"></a><a href="#395" id="line395"> 395</a> </span> : */
1902 <span class="lineNum" id="container396"><a name="396"></a><a href="#396" id="line396"> 396</a> </span> : final function getCurrentSubDocument(&amp;$document, $parent_key, Array $values, Array $past_values)
1903 <span class="lineNum" id="container397"><a name="397"></a><a href="#397" id="line397"> 397</a> </span> : {
1904 <span class="lineNum" id="container398"><a name="398"></a><a href="#398" id="line398"> 398</a> </span> : /**
1905 <span class="lineNum" id="container399"><a name="399"></a><a href="#399" id="line399"> 399</a> </span> : * The current property is a embedded-document,
1906 <span class="lineNum" id="container400"><a name="400"></a><a href="#400" id="line400"> 400</a> </span> : * now we're looking for differences with the
1907 <span class="lineNum" id="container401"><a name="401"></a><a href="#401" id="line401"> 401</a> </span> : * previous value (because we're on an update).
1908 <span class="lineNum" id="container402"><a name="402"></a><a href="#402" id="line402"> 402</a> </span> : *
1909 <span class="lineNum" id="container403"><a name="403"></a><a href="#403" id="line403"> 403</a> </span> : * It behaves exactly as getCurrentDocument,
1910 <span class="lineNum" id="container404"><a name="404"></a><a href="#404" id="line404"> 404</a> </span> : * but this is simples (it doesn't support
1911 <span class="lineNum" id="container405"><a name="405"></a><a href="#405" id="line405"> 405</a> </span> : * yet filters)
1912 <span class="lineNum" id="container406"><a name="406"></a><a href="#406" id="line406"> 406</a> </span> : */
1913 <span class="lineNum" id="container407"><a name="407"></a><a href="#407" id="line407"> 407</a> </span><span class="lineCov"> 3 : foreach ($values as $key =&gt; $value) { </span>
1914 <span class="lineNum" id="container408"><a name="408"></a><a href="#408" id="line408"> 408</a> </span><span class="lineCov"> 3 : $super_key = &quot;{$parent_key}.{$key}&quot;; </span>
1915 <span class="lineNum" id="container409"><a name="409"></a><a href="#409" id="line409"> 409</a> </span><span class="lineCov"> 3 : if (is_array($value)) { </span>
1916 <span class="lineNum" id="container410"><a name="410"></a><a href="#410" id="line410"> 410</a> </span> : /**
1917 <span class="lineNum" id="container411"><a name="411"></a><a href="#411" id="line411"> 411</a> </span> : * Inner document detected
1918 <span class="lineNum" id="container412"><a name="412"></a><a href="#412" id="line412"> 412</a> </span> : */
1919 <span class="lineNum" id="container413"><a name="413"></a><a href="#413" id="line413"> 413</a> </span><span class="lineCov"> 2 : if (!array_key_exists($key, $past_values) || !is_array($past_values[$key])) { </span>
1920 <span class="lineNum" id="container414"><a name="414"></a><a href="#414" id="line414"> 414</a> </span> : /**
1921 <span class="lineNum" id="container415"><a name="415"></a><a href="#415" id="line415"> 415</a> </span> : * We're lucky, it is a new sub-document,
1922 <span class="lineNum" id="container416"><a name="416"></a><a href="#416" id="line416"> 416</a> </span> : * we simple add it
1923 <span class="lineNum" id="container417"><a name="417"></a><a href="#417" id="line417"> 417</a> </span> : */
1924 <span class="lineNum" id="container418"><a name="418"></a><a href="#418" id="line418"> 418</a> </span><span class="lineCov"> 1 : $document['$set'][$super_key] = $value; </span>
1925 <span class="lineNum" id="container419"><a name="419"></a><a href="#419" id="line419"> 419</a> </span><span class="lineCov"> 1 : } else { </span>
1926 <span class="lineNum" id="container420"><a name="420"></a><a href="#420" id="line420"> 420</a> </span> : /**
1927 <span class="lineNum" id="container421"><a name="421"></a><a href="#421" id="line421"> 421</a> </span> : * This is a document like this, we need
1928 <span class="lineNum" id="container422"><a name="422"></a><a href="#422" id="line422"> 422</a> </span> : * to find out the differences to avoid
1929 <span class="lineNum" id="container423"><a name="423"></a><a href="#423" id="line423"> 423</a> </span> : * network overhead.
1930 <span class="lineNum" id="container424"><a name="424"></a><a href="#424" id="line424"> 424</a> </span> : */
1931 <span class="lineNum" id="container425"><a name="425"></a><a href="#425" id="line425"> 425</a> </span><span class="lineCov"> 1 : if (!$this-&gt;getCurrentSubDocument($document, $super_key, $value, $past_values[$key])) { </span>
1932 <span class="lineNum" id="container426"><a name="426"></a><a href="#426" id="line426"> 426</a> </span><span class="lineNoCov"> 0 : return FALSE; </span>
1933 <span class="lineNum" id="container427"><a name="427"></a><a href="#427" id="line427"> 427</a> </span><span class="lineDeadCode"> : } </span>
1934 <span class="lineNum" id="container428"><a name="428"></a><a href="#428" id="line428"> 428</a> </span> : }
1935 <span class="lineNum" id="container429"><a name="429"></a><a href="#429" id="line429"> 429</a> </span><span class="lineCov"> 2 : continue; </span>
1936 <span class="lineNum" id="container430"><a name="430"></a><a href="#430" id="line430"> 430</a> </span><span class="lineCov"> 3 : } else if (!array_key_exists($key, $past_values) || $past_values[$key] !== $value) { </span>
1937 <span class="lineNum" id="container431"><a name="431"></a><a href="#431" id="line431"> 431</a> </span><span class="lineCov"> 2 : $document['$set'][$super_key] = $value; </span>
1938 <span class="lineNum" id="container432"><a name="432"></a><a href="#432" id="line432"> 432</a> </span><span class="lineCov"> 2 : } </span>
1939 <span class="lineNum" id="container433"><a name="433"></a><a href="#433" id="line433"> 433</a> </span><span class="lineCov"> 3 : } </span>
1940 <span class="lineNum" id="container434"><a name="434"></a><a href="#434" id="line434"> 434</a> </span> :
1941 <span class="lineNum" id="container435"><a name="435"></a><a href="#435" id="line435"> 435</a> </span><span class="lineCov"> 3 : foreach (array_diff(array_keys($past_values), array_keys($values)) as $key) { </span>
1942 <span class="lineNum" id="container436"><a name="436"></a><a href="#436" id="line436"> 436</a> </span><span class="lineCov"> 2 : $super_key = &quot;{$parent_key}.{$key}&quot;; </span>
1943 <span class="lineNum" id="container437"><a name="437"></a><a href="#437" id="line437"> 437</a> </span><span class="lineCov"> 2 : $document['$unset'][$super_key] = 1; </span>
1944 <span class="lineNum" id="container438"><a name="438"></a><a href="#438" id="line438"> 438</a> </span><span class="lineCov"> 3 : } </span>
1945 <span class="lineNum" id="container439"><a name="439"></a><a href="#439" id="line439"> 439</a> </span> :
1946 <span class="lineNum" id="container440"><a name="440"></a><a href="#440" id="line440"> 440</a> </span><span class="lineCov"> 3 : return TRUE; </span>
1947 <span class="lineNum" id="container441"><a name="441"></a><a href="#441" id="line441"> 441</a> </span><span class="lineDeadCode"> : } </span>
1948 <span class="lineNum" id="container442"><a name="442"></a><a href="#442" id="line442"> 442</a> </span> : // }}}
1949 <span class="lineNum" id="container443"><a name="443"></a><a href="#443" id="line443"> 443</a> </span> :
1950 <span class="lineNum" id="container444"><a name="444"></a><a href="#444" id="line444"> 444</a> </span> : // array getCurrentDocument(bool $update) {{{
1951 <span class="lineNum" id="container445"><a name="445"></a><a href="#445" id="line445"> 445</a> </span> : /**
1952 <span class="lineNum" id="container446"><a name="446"></a><a href="#446" id="line446"> 446</a> </span> : * Get Current Document
1953 <span class="lineNum" id="container447"><a name="447"></a><a href="#447" id="line447"> 447</a> </span> : *
1954 <span class="lineNum" id="container448"><a name="448"></a><a href="#448" id="line448"> 448</a> </span> : * Based on this object properties a new document (Array)
1955 <span class="lineNum" id="container449"><a name="449"></a><a href="#449" id="line449"> 449</a> </span> : * is returned. If we're modifying an document, just the modified
1956 <span class="lineNum" id="container450"><a name="450"></a><a href="#450" id="line450"> 450</a> </span> : * properties are included in this document, which uses $set,
1957 <span class="lineNum" id="container451"><a name="451"></a><a href="#451" id="line451"> 451</a> </span> : * $unset, $pushAll and $pullAll.
1958 <span class="lineNum" id="container452"><a name="452"></a><a href="#452" id="line452"> 452</a> </span> : *
1959 <span class="lineNum" id="container453"><a name="453"></a><a href="#453" id="line453"> 453</a> </span> : *
1960 <span class="lineNum" id="container454"><a name="454"></a><a href="#454" id="line454"> 454</a> </span> : * @param bool $update
1961 <span class="lineNum" id="container455"><a name="455"></a><a href="#455" id="line455"> 455</a> </span> : *
1962 <span class="lineNum" id="container456"><a name="456"></a><a href="#456" id="line456"> 456</a> </span> : * @return array
1963 <span class="lineNum" id="container457"><a name="457"></a><a href="#457" id="line457"> 457</a> </span> : */
1964 <span class="lineNum" id="container458"><a name="458"></a><a href="#458" id="line458"> 458</a> </span> : final protected function getCurrentDocument($update=FALSE, $current=FALSE)
1965 <span class="lineNum" id="container459"><a name="459"></a><a href="#459" id="line459"> 459</a> </span> : {
1966 <span class="lineNum" id="container460"><a name="460"></a><a href="#460" id="line460"> 460</a> </span><span class="lineCov"> 20 : $document = array(); </span>
1967 <span class="lineNum" id="container461"><a name="461"></a><a href="#461" id="line461"> 461</a> </span><span class="lineCov"> 20 : $object = $this-&gt;getDocumentVars(); </span>
1968 <span class="lineNum" id="container462"><a name="462"></a><a href="#462" id="line462"> 462</a> </span> :
1969 <span class="lineNum" id="container463"><a name="463"></a><a href="#463" id="line463"> 463</a> </span><span class="lineCov"> 20 : if (!$current) { </span>
1970 <span class="lineNum" id="container464"><a name="464"></a><a href="#464" id="line464"> 464</a> </span><span class="lineCov"> 20 : $current = (array)$this-&gt;_current; </span>
1971 <span class="lineNum" id="container465"><a name="465"></a><a href="#465" id="line465"> 465</a> </span><span class="lineCov"> 20 : } </span>
1972 <span class="lineNum" id="container466"><a name="466"></a><a href="#466" id="line466"> 466</a> </span> :
1973 <span class="lineNum" id="container467"><a name="467"></a><a href="#467" id="line467"> 467</a> </span> :
1974 <span class="lineNum" id="container468"><a name="468"></a><a href="#468" id="line468"> 468</a> </span><span class="lineCov"> 20 : $this-&gt;findReferences($object); </span>
1975 <span class="lineNum" id="container469"><a name="469"></a><a href="#469" id="line469"> 469</a> </span> :
1976 <span class="lineNum" id="container470"><a name="470"></a><a href="#470" id="line470"> 470</a> </span><span class="lineCov"> 20 : $this-&gt;triggerEvent('before_validate', array(&amp;$object, $current)); </span>
1977 <span class="lineNum" id="container471"><a name="471"></a><a href="#471" id="line471"> 471</a> </span><span class="lineCov"> 20 : $this-&gt;triggerEvent('before_validate_'.($update?'update':'creation'), array(&amp;$object, $current)); </span>
1978 <span class="lineNum" id="container472"><a name="472"></a><a href="#472" id="line472"> 472</a> </span> :
1979 <span class="lineNum" id="container473"><a name="473"></a><a href="#473" id="line473"> 473</a> </span><span class="lineCov"> 19 : foreach ($object as $key =&gt; $value) { </span>
1980 <span class="lineNum" id="container474"><a name="474"></a><a href="#474" id="line474"> 474</a> </span><span class="lineCov"> 19 : if ($update) { </span>
1981 <span class="lineNum" id="container475"><a name="475"></a><a href="#475" id="line475"> 475</a> </span><span class="lineCov"> 8 : if (is_array($value) &amp;&amp; isset($current[$key])) { </span>
1982 <span class="lineNum" id="container476"><a name="476"></a><a href="#476" id="line476"> 476</a> </span> : /**
1983 <span class="lineNum" id="container477"><a name="477"></a><a href="#477" id="line477"> 477</a> </span> : * If the Field to update is an array, it has a different
1984 <span class="lineNum" id="container478"><a name="478"></a><a href="#478" id="line478"> 478</a> </span> : * behaviour other than $set and $unset. Fist, we need
1985 <span class="lineNum" id="container479"><a name="479"></a><a href="#479" id="line479"> 479</a> </span> : * need to check if it is an array or document, because
1986 <span class="lineNum" id="container480"><a name="480"></a><a href="#480" id="line480"> 480</a> </span> : * they can't be mixed.
1987 <span class="lineNum" id="container481"><a name="481"></a><a href="#481" id="line481"> 481</a> </span> : *
1988 <span class="lineNum" id="container482"><a name="482"></a><a href="#482" id="line482"> 482</a> </span> : */
1989 <span class="lineNum" id="container483"><a name="483"></a><a href="#483" id="line483"> 483</a> </span><span class="lineCov"> 3 : if (!is_array($current[$key])) { </span>
1990 <span class="lineNum" id="container484"><a name="484"></a><a href="#484" id="line484"> 484</a> </span> : /**
1991 <span class="lineNum" id="container485"><a name="485"></a><a href="#485" id="line485"> 485</a> </span> : * We're lucky, the field wasn't
1992 <span class="lineNum" id="container486"><a name="486"></a><a href="#486" id="line486"> 486</a> </span> : * an array previously.
1993 <span class="lineNum" id="container487"><a name="487"></a><a href="#487" id="line487"> 487</a> </span> : */
1994 <span class="lineNum" id="container488"><a name="488"></a><a href="#488" id="line488"> 488</a> </span><span class="lineCov"> 1 : $this-&gt;runFilter($key, $value, $current[$key]); </span>
1995 <span class="lineNum" id="container489"><a name="489"></a><a href="#489" id="line489"> 489</a> </span><span class="lineCov"> 1 : $document['$set'][$key] = $value; </span>
1996 <span class="lineNum" id="container490"><a name="490"></a><a href="#490" id="line490"> 490</a> </span><span class="lineCov"> 1 : continue; </span>
1997 <span class="lineNum" id="container491"><a name="491"></a><a href="#491" id="line491"> 491</a> </span><span class="lineDeadCode"> : } </span>
1998 <span class="lineNum" id="container492"><a name="492"></a><a href="#492" id="line492"> 492</a> </span> :
1999 <span class="lineNum" id="container493"><a name="493"></a><a href="#493" id="line493"> 493</a> </span><span class="lineCov"> 3 : if (!$this-&gt;getCurrentSubDocument($document, $key, $value, $current[$key])) { </span>
2000 <span class="lineNum" id="container494"><a name="494"></a><a href="#494" id="line494"> 494</a> </span><span class="lineNoCov"> 0 : throw new Exception(&quot;{$key}: Array and documents are not compatible&quot;); </span>
2001 <span class="lineNum" id="container495"><a name="495"></a><a href="#495" id="line495"> 495</a> </span><span class="lineDeadCode"> : } </span>
2002 <span class="lineNum" id="container496"><a name="496"></a><a href="#496" id="line496"> 496</a> </span><span class="lineCov"> 8 : } else if(!array_key_exists($key, $current) || $value !== $current[$key]) { </span>
2003 <span class="lineNum" id="container497"><a name="497"></a><a href="#497" id="line497"> 497</a> </span> : /**
2004 <span class="lineNum" id="container498"><a name="498"></a><a href="#498" id="line498"> 498</a> </span> : * It is 'linear' field that has changed, or
2005 <span class="lineNum" id="container499"><a name="499"></a><a href="#499" id="line499"> 499</a> </span> : * has been modified.
2006 <span class="lineNum" id="container500"><a name="500"></a><a href="#500" id="line500"> 500</a> </span> : */
2007 <span class="lineNum" id="container501"><a name="501"></a><a href="#501" id="line501"> 501</a> </span><span class="lineCov"> 6 : $past_value = isset($current[$key]) ? $current[$key] : NULL; </span>
2008 <span class="lineNum" id="container502"><a name="502"></a><a href="#502" id="line502"> 502</a> </span><span class="lineCov"> 6 : $this-&gt;runFilter($key, $value, $past_value); </span>
2009 <span class="lineNum" id="container503"><a name="503"></a><a href="#503" id="line503"> 503</a> </span><span class="lineCov"> 6 : $document['$set'][$key] = $value; </span>
2010 <span class="lineNum" id="container504"><a name="504"></a><a href="#504" id="line504"> 504</a> </span><span class="lineCov"> 6 : } </span>
2011 <span class="lineNum" id="container505"><a name="505"></a><a href="#505" id="line505"> 505</a> </span><span class="lineCov"> 8 : } else { </span>
2012 <span class="lineNum" id="container506"><a name="506"></a><a href="#506" id="line506"> 506</a> </span> : /**
2013 <span class="lineNum" id="container507"><a name="507"></a><a href="#507" id="line507"> 507</a> </span> : * It is a document insertation, so we
2014 <span class="lineNum" id="container508"><a name="508"></a><a href="#508" id="line508"> 508</a> </span> : * create the document.
2015 <span class="lineNum" id="container509"><a name="509"></a><a href="#509" id="line509"> 509</a> </span> : */
2016 <span class="lineNum" id="container510"><a name="510"></a><a href="#510" id="line510"> 510</a> </span><span class="lineCov"> 18 : $this-&gt;runFilter($key, $value, NULL); </span>
2017 <span class="lineNum" id="container511"><a name="511"></a><a href="#511" id="line511"> 511</a> </span><span class="lineCov"> 18 : $document[$key] = $value; </span>
2018 <span class="lineNum" id="container512"><a name="512"></a><a href="#512" id="line512"> 512</a> </span> : }
2019 <span class="lineNum" id="container513"><a name="513"></a><a href="#513" id="line513"> 513</a> </span><span class="lineCov"> 19 : } </span>
2020 <span class="lineNum" id="container514"><a name="514"></a><a href="#514" id="line514"> 514</a> </span> :
2021 <span class="lineNum" id="container515"><a name="515"></a><a href="#515" id="line515"> 515</a> </span> : /* Updated behaves in a diff. way */
2022 <span class="lineNum" id="container516"><a name="516"></a><a href="#516" id="line516"> 516</a> </span><span class="lineCov"> 19 : if ($update) { </span>
2023 <span class="lineNum" id="container517"><a name="517"></a><a href="#517" id="line517"> 517</a> </span><span class="lineCov"> 8 : foreach (array_diff(array_keys($this-&gt;_current), array_keys($object)) as $property) { </span>
2024 <span class="lineNum" id="container518"><a name="518"></a><a href="#518" id="line518"> 518</a> </span><span class="lineCov"> 8 : if ($property == '_id') { </span>
2025 <span class="lineNum" id="container519"><a name="519"></a><a href="#519" id="line519"> 519</a> </span><span class="lineCov"> 8 : continue; </span>
2026 <span class="lineNum" id="container520"><a name="520"></a><a href="#520" id="line520"> 520</a> </span><span class="lineDeadCode"> : } </span>
2027 <span class="lineNum" id="container521"><a name="521"></a><a href="#521" id="line521"> 521</a> </span><span class="lineCov"> 1 : $document['$unset'][$property] = 1; </span>
2028 <span class="lineNum" id="container522"><a name="522"></a><a href="#522" id="line522"> 522</a> </span><span class="lineCov"> 8 : } </span>
2029 <span class="lineNum" id="container523"><a name="523"></a><a href="#523" id="line523"> 523</a> </span><span class="lineCov"> 8 : } </span>
2030 <span class="lineNum" id="container524"><a name="524"></a><a href="#524" id="line524"> 524</a> </span> :
2031 <span class="lineNum" id="container525"><a name="525"></a><a href="#525" id="line525"> 525</a> </span><span class="lineCov"> 19 : if (count($document) == 0) { </span>
2032 <span class="lineNum" id="container526"><a name="526"></a><a href="#526" id="line526"> 526</a> </span><span class="lineCov"> 1 : return array(); </span>
2033 <span class="lineNum" id="container527"><a name="527"></a><a href="#527" id="line527"> 527</a> </span><span class="lineDeadCode"> : } </span>
2034 <span class="lineNum" id="container528"><a name="528"></a><a href="#528" id="line528"> 528</a> </span> :
2035 <span class="lineNum" id="container529"><a name="529"></a><a href="#529" id="line529"> 529</a> </span><span class="lineCov"> 19 : $this-&gt;triggerEvent('after_validate', array(&amp;$document)); </span>
2036 <span class="lineNum" id="container530"><a name="530"></a><a href="#530" id="line530"> 530</a> </span><span class="lineCov"> 19 : $this-&gt;triggerEvent('after_validate_'.($update?'update':'creation'), array(&amp;$object)); </span>
2037 <span class="lineNum" id="container531"><a name="531"></a><a href="#531" id="line531"> 531</a> </span> :
2038 <span class="lineNum" id="container532"><a name="532"></a><a href="#532" id="line532"> 532</a> </span><span class="lineCov"> 19 : return $document; </span>
2039 <span class="lineNum" id="container533"><a name="533"></a><a href="#533" id="line533"> 533</a> </span><span class="lineDeadCode"> : } </span>
2040 <span class="lineNum" id="container534"><a name="534"></a><a href="#534" id="line534"> 534</a> </span> : // }}}
2041 <span class="lineNum" id="container535"><a name="535"></a><a href="#535" id="line535"> 535</a> </span> :
2042 <span class="lineNum" id="container536"><a name="536"></a><a href="#536" id="line536"> 536</a> </span> : // }}}
2043 <span class="lineNum" id="container537"><a name="537"></a><a href="#537" id="line537"> 537</a> </span> :
2044 <span class="lineNum" id="container538"><a name="538"></a><a href="#538" id="line538"> 538</a> </span> : // EVENT HANDLERS {{{
2045 <span class="lineNum" id="container539"><a name="539"></a><a href="#539" id="line539"> 539</a> </span> :
2046 <span class="lineNum" id="container540"><a name="540"></a><a href="#540" id="line540"> 540</a> </span> : // addEvent($action, $callback) {{{
2047 <span class="lineNum" id="container541"><a name="541"></a><a href="#541" id="line541"> 541</a> </span> : /**
2048 <span class="lineNum" id="container542"><a name="542"></a><a href="#542" id="line542"> 542</a> </span> : * addEvent
2049 <span class="lineNum" id="container543"><a name="543"></a><a href="#543" id="line543"> 543</a> </span> : *
2050 <span class="lineNum" id="container544"><a name="544"></a><a href="#544" id="line544"> 544</a> </span> : */
2051 <span class="lineNum" id="container545"><a name="545"></a><a href="#545" id="line545"> 545</a> </span> : final static function addEvent($action, $callback)
2052 <span class="lineNum" id="container546"><a name="546"></a><a href="#546" id="line546"> 546</a> </span> : {
2053 <span class="lineNum" id="container547"><a name="547"></a><a href="#547" id="line547"> 547</a> </span><span class="lineCov"> 7 : if (!is_callable($callback)) { </span>
2054 <span class="lineNum" id="container548"><a name="548"></a><a href="#548" id="line548"> 548</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Invalid callback&quot;); </span>
2055 <span class="lineNum" id="container549"><a name="549"></a><a href="#549" id="line549"> 549</a> </span><span class="lineDeadCode"> : } </span>
2056 <span class="lineNum" id="container550"><a name="550"></a><a href="#550" id="line550"> 550</a> </span> :
2057 <span class="lineNum" id="container551"><a name="551"></a><a href="#551" id="line551"> 551</a> </span><span class="lineCov"> 6 : $class = get_called_class(); </span>
2058 <span class="lineNum" id="container552"><a name="552"></a><a href="#552" id="line552"> 552</a> </span><span class="lineCov"> 6 : if ($class == __CLASS__) { </span>
2059 <span class="lineNum" id="container553"><a name="553"></a><a href="#553" id="line553"> 553</a> </span><span class="lineCov"> 2 : $events = &amp; self::$_super_events; </span>
2060 <span class="lineNum" id="container554"><a name="554"></a><a href="#554" id="line554"> 554</a> </span><span class="lineCov"> 2 : } else { </span>
2061 <span class="lineNum" id="container555"><a name="555"></a><a href="#555" id="line555"> 555</a> </span><span class="lineCov"> 4 : $events = &amp; self::$_events[$class]; </span>
2062 <span class="lineNum" id="container556"><a name="556"></a><a href="#556" id="line556"> 556</a> </span> : }
2063 <span class="lineNum" id="container557"><a name="557"></a><a href="#557" id="line557"> 557</a> </span><span class="lineCov"> 6 : if (!isset($events[$action])) { </span>
2064 <span class="lineNum" id="container558"><a name="558"></a><a href="#558" id="line558"> 558</a> </span><span class="lineCov"> 6 : $events[$action] = array(); </span>
2065 <span class="lineNum" id="container559"><a name="559"></a><a href="#559" id="line559"> 559</a> </span><span class="lineCov"> 6 : } </span>
2066 <span class="lineNum" id="container560"><a name="560"></a><a href="#560" id="line560"> 560</a> </span><span class="lineCov"> 6 : $events[$action][] = $callback; </span>
2067 <span class="lineNum" id="container561"><a name="561"></a><a href="#561" id="line561"> 561</a> </span><span class="lineCov"> 6 : return TRUE; </span>
2068 <span class="lineNum" id="container562"><a name="562"></a><a href="#562" id="line562"> 562</a> </span><span class="lineDeadCode"> : } </span>
2069 <span class="lineNum" id="container563"><a name="563"></a><a href="#563" id="line563"> 563</a> </span> : // }}}
2070 <span class="lineNum" id="container564"><a name="564"></a><a href="#564" id="line564"> 564</a> </span> :
2071 <span class="lineNum" id="container565"><a name="565"></a><a href="#565" id="line565"> 565</a> </span> : // triggerEvent(string $event, Array $events_params) {{{
2072 <span class="lineNum" id="container566"><a name="566"></a><a href="#566" id="line566"> 566</a> </span> : final function triggerEvent($event, Array $events_params = array(), $context=NULL)
2073 <span class="lineNum" id="container567"><a name="567"></a><a href="#567" id="line567"> 567</a> </span> : {
2074 <span class="lineNum" id="container568"><a name="568"></a><a href="#568" id="line568"> 568</a> </span><span class="lineCov"> 39 : if (!$context){ </span>
2075 <span class="lineNum" id="container569"><a name="569"></a><a href="#569" id="line569"> 569</a> </span><span class="lineCov"> 38 : if (!isset($this)) { </span>
2076 <span class="lineNum" id="container570"><a name="570"></a><a href="#570" id="line570"> 570</a> </span><span class="lineNoCov"> 0 : $class = get_called_class(); </span>
2077 <span class="lineNum" id="container571"><a name="571"></a><a href="#571" id="line571"> 571</a> </span><span class="lineNoCov"> 0 : $obj = $class; </span>
2078 <span class="lineNum" id="container572"><a name="572"></a><a href="#572" id="line572"> 572</a> </span><span class="lineNoCov"> 0 : } else { </span>
2079 <span class="lineNum" id="container573"><a name="573"></a><a href="#573" id="line573"> 573</a> </span><span class="lineCov"> 38 : $class = get_class($this); </span>
2080 <span class="lineNum" id="container574"><a name="574"></a><a href="#574" id="line574"> 574</a> </span><span class="lineCov"> 38 : $obj = $this; </span>
2081 <span class="lineNum" id="container575"><a name="575"></a><a href="#575" id="line575"> 575</a> </span> : }
2082 <span class="lineNum" id="container576"><a name="576"></a><a href="#576" id="line576"> 576</a> </span><span class="lineCov"> 38 : } else { </span>
2083 <span class="lineNum" id="container577"><a name="577"></a><a href="#577" id="line577"> 577</a> </span><span class="lineCov"> 3 : $class = $context; </span>
2084 <span class="lineNum" id="container578"><a name="578"></a><a href="#578" id="line578"> 578</a> </span><span class="lineCov"> 3 : $obj = $context; </span>
2085 <span class="lineNum" id="container579"><a name="579"></a><a href="#579" id="line579"> 579</a> </span> : }
2086 <span class="lineNum" id="container580"><a name="580"></a><a href="#580" id="line580"> 580</a> </span><span class="lineCov"> 39 : $events = &amp; self::$_events[$class][$event]; </span>
2087 <span class="lineNum" id="container581"><a name="581"></a><a href="#581" id="line581"> 581</a> </span><span class="lineCov"> 39 : $sevents = &amp; self::$_super_events[$event]; </span>
2088 <span class="lineNum" id="container582"><a name="582"></a><a href="#582" id="line582"> 582</a> </span> :
2089 <span class="lineNum" id="container583"><a name="583"></a><a href="#583" id="line583"> 583</a> </span> : /* Super-Events handler receives the ActiveMongo class name as first param */
2090 <span class="lineNum" id="container584"><a name="584"></a><a href="#584" id="line584"> 584</a> </span><span class="lineCov"> 39 : $sevents_params = array_merge(array($class), $events_params); </span>
2091 <span class="lineNum" id="container585"><a name="585"></a><a href="#585" id="line585"> 585</a> </span> :
2092 <span class="lineNum" id="container586"><a name="586"></a><a href="#586" id="line586"> 586</a> </span><span class="lineCov"> 39 : foreach (array('events', 'sevents') as $event_type) { </span>
2093 <span class="lineNum" id="container587"><a name="587"></a><a href="#587" id="line587"> 587</a> </span><span class="lineCov"> 39 : if (count($$event_type) &gt; 0) { </span>
2094 <span class="lineNum" id="container588"><a name="588"></a><a href="#588" id="line588"> 588</a> </span><span class="lineCov"> 24 : $params = &quot;{$event_type}_params&quot;; </span>
2095 <span class="lineNum" id="container589"><a name="589"></a><a href="#589" id="line589"> 589</a> </span><span class="lineCov"> 24 : foreach ($$event_type as $fnc) { </span>
2096 <span class="lineNum" id="container590"><a name="590"></a><a href="#590" id="line590"> 590</a> </span><span class="lineCov"> 24 : if (call_user_func_array($fnc, $$params) === FALSE) { </span>
2097 <span class="lineNum" id="container591"><a name="591"></a><a href="#591" id="line591"> 591</a> </span><span class="lineCov"> 6 : return; </span>
2098 <span class="lineNum" id="container592"><a name="592"></a><a href="#592" id="line592"> 592</a> </span><span class="lineDeadCode"> : } </span>
2099 <span class="lineNum" id="container593"><a name="593"></a><a href="#593" id="line593"> 593</a> </span><span class="lineCov"> 24 : } </span>
2100 <span class="lineNum" id="container594"><a name="594"></a><a href="#594" id="line594"> 594</a> </span><span class="lineCov"> 24 : } </span>
2101 <span class="lineNum" id="container595"><a name="595"></a><a href="#595" id="line595"> 595</a> </span><span class="lineCov"> 39 : } </span>
2102 <span class="lineNum" id="container596"><a name="596"></a><a href="#596" id="line596"> 596</a> </span> :
2103 <span class="lineNum" id="container597"><a name="597"></a><a href="#597" id="line597"> 597</a> </span> : switch ($event) {
2104 <span class="lineNum" id="container598"><a name="598"></a><a href="#598" id="line598"> 598</a> </span><span class="lineCov"> 39 : case 'before_create': </span>
2105 <span class="lineNum" id="container599"><a name="599"></a><a href="#599" id="line599"> 599</a> </span><span class="lineCov"> 39 : case 'before_update': </span>
2106 <span class="lineNum" id="container600"><a name="600"></a><a href="#600" id="line600"> 600</a> </span><span class="lineCov"> 39 : case 'before_validate': </span>
2107 <span class="lineNum" id="container601"><a name="601"></a><a href="#601" id="line601"> 601</a> </span><span class="lineCov"> 39 : case 'before_delete': </span>
2108 <span class="lineNum" id="container602"><a name="602"></a><a href="#602" id="line602"> 602</a> </span><span class="lineCov"> 39 : case 'before_drop': </span>
2109 <span class="lineNum" id="container603"><a name="603"></a><a href="#603" id="line603"> 603</a> </span><span class="lineCov"> 39 : case 'before_query': </span>
2110 <span class="lineNum" id="container604"><a name="604"></a><a href="#604" id="line604"> 604</a> </span><span class="lineCov"> 39 : case 'after_create': </span>
2111 <span class="lineNum" id="container605"><a name="605"></a><a href="#605" id="line605"> 605</a> </span><span class="lineCov"> 39 : case 'after_update': </span>
2112 <span class="lineNum" id="container606"><a name="606"></a><a href="#606" id="line606"> 606</a> </span><span class="lineCov"> 39 : case 'after_validate': </span>
2113 <span class="lineNum" id="container607"><a name="607"></a><a href="#607" id="line607"> 607</a> </span><span class="lineCov"> 39 : case 'after_delete': </span>
2114 <span class="lineNum" id="container608"><a name="608"></a><a href="#608" id="line608"> 608</a> </span><span class="lineCov"> 39 : case 'after_drop': </span>
2115 <span class="lineNum" id="container609"><a name="609"></a><a href="#609" id="line609"> 609</a> </span><span class="lineCov"> 39 : case 'after_query': </span>
2116 <span class="lineNum" id="container610"><a name="610"></a><a href="#610" id="line610"> 610</a> </span><span class="lineCov"> 38 : $fnc = array($obj, $event); </span>
2117 <span class="lineNum" id="container611"><a name="611"></a><a href="#611" id="line611"> 611</a> </span><span class="lineCov"> 38 : $params = &quot;events_params&quot;; </span>
2118 <span class="lineNum" id="container612"><a name="612"></a><a href="#612" id="line612"> 612</a> </span><span class="lineCov"> 38 : if (is_callable($fnc)) { </span>
2119 <span class="lineNum" id="container613"><a name="613"></a><a href="#613" id="line613"> 613</a> </span><span class="lineCov"> 8 : call_user_func_array($fnc, $$params); </span>
2120 <span class="lineNum" id="container614"><a name="614"></a><a href="#614" id="line614"> 614</a> </span><span class="lineCov"> 8 : } </span>
2121 <span class="lineNum" id="container615"><a name="615"></a><a href="#615" id="line615"> 615</a> </span><span class="lineCov"> 38 : break; </span>
2122 <span class="lineNum" id="container616"><a name="616"></a><a href="#616" id="line616"> 616</a> </span><span class="lineDeadCode"> : } </span>
2123 <span class="lineNum" id="container617"><a name="617"></a><a href="#617" id="line617"> 617</a> </span><span class="lineCov"> 39 : } </span>
2124 <span class="lineNum" id="container618"><a name="618"></a><a href="#618" id="line618"> 618</a> </span> : // }}}
2125 <span class="lineNum" id="container619"><a name="619"></a><a href="#619" id="line619"> 619</a> </span> :
2126 <span class="lineNum" id="container620"><a name="620"></a><a href="#620" id="line620"> 620</a> </span> : // void runFilter(string $key, mixed &amp;$value, mixed $past_value) {{{
2127 <span class="lineNum" id="container621"><a name="621"></a><a href="#621" id="line621"> 621</a> </span> : /**
2128 <span class="lineNum" id="container622"><a name="622"></a><a href="#622" id="line622"> 622</a> </span> : * *Internal Method*
2129 <span class="lineNum" id="container623"><a name="623"></a><a href="#623" id="line623"> 623</a> </span> : *
2130 <span class="lineNum" id="container624"><a name="624"></a><a href="#624" id="line624"> 624</a> </span> : * This method check if the current document property has
2131 <span class="lineNum" id="container625"><a name="625"></a><a href="#625" id="line625"> 625</a> </span> : * a filter method, if so, call it.
2132 <span class="lineNum" id="container626"><a name="626"></a><a href="#626" id="line626"> 626</a> </span> : *
2133 <span class="lineNum" id="container627"><a name="627"></a><a href="#627" id="line627"> 627</a> </span> : * If the filter returns FALSE, throw an Exception.
2134 <span class="lineNum" id="container628"><a name="628"></a><a href="#628" id="line628"> 628</a> </span> : *
2135 <span class="lineNum" id="container629"><a name="629"></a><a href="#629" id="line629"> 629</a> </span> : * @return void
2136 <span class="lineNum" id="container630"><a name="630"></a><a href="#630" id="line630"> 630</a> </span> : */
2137 <span class="lineNum" id="container631"><a name="631"></a><a href="#631" id="line631"> 631</a> </span> : protected function runFilter($key, &amp;$value, $past_value)
2138 <span class="lineNum" id="container632"><a name="632"></a><a href="#632" id="line632"> 632</a> </span> : {
2139 <span class="lineNum" id="container633"><a name="633"></a><a href="#633" id="line633"> 633</a> </span><span class="lineCov"> 19 : $filter = array($this, &quot;{$key}_filter&quot;); </span>
2140 <span class="lineNum" id="container634"><a name="634"></a><a href="#634" id="line634"> 634</a> </span><span class="lineCov"> 19 : if (is_callable($filter)) { </span>
2141 <span class="lineNum" id="container635"><a name="635"></a><a href="#635" id="line635"> 635</a> </span><span class="lineCov"> 1 : $filter = call_user_func_array($filter, array(&amp;$value, $past_value)); </span>
2142 <span class="lineNum" id="container636"><a name="636"></a><a href="#636" id="line636"> 636</a> </span><span class="lineCov"> 1 : if ($filter===FALSE) { </span>
2143 <span class="lineNum" id="container637"><a name="637"></a><a href="#637" id="line637"> 637</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_FilterException(&quot;{$key} filter failed&quot;); </span>
2144 <span class="lineNum" id="container638"><a name="638"></a><a href="#638" id="line638"> 638</a> </span><span class="lineDeadCode"> : } </span>
2145 <span class="lineNum" id="container639"><a name="639"></a><a href="#639" id="line639"> 639</a> </span><span class="lineCov"> 1 : $this-&gt;$key = $value; </span>
2146 <span class="lineNum" id="container640"><a name="640"></a><a href="#640" id="line640"> 640</a> </span><span class="lineCov"> 1 : } </span>
2147 <span class="lineNum" id="container641"><a name="641"></a><a href="#641" id="line641"> 641</a> </span><span class="lineCov"> 19 : } </span>
2148 <span class="lineNum" id="container642"><a name="642"></a><a href="#642" id="line642"> 642</a> </span> : // }}}
2149 <span class="lineNum" id="container643"><a name="643"></a><a href="#643" id="line643"> 643</a> </span> :
2150 <span class="lineNum" id="container644"><a name="644"></a><a href="#644" id="line644"> 644</a> </span> : // }}}
2151 <span class="lineNum" id="container645"><a name="645"></a><a href="#645" id="line645"> 645</a> </span> :
2152 <span class="lineNum" id="container646"><a name="646"></a><a href="#646" id="line646"> 646</a> </span> : // void setCursor(MongoCursor $obj) {{{
2153 <span class="lineNum" id="container647"><a name="647"></a><a href="#647" id="line647"> 647</a> </span> : /**
2154 <span class="lineNum" id="container648"><a name="648"></a><a href="#648" id="line648"> 648</a> </span> : * Set Cursor
2155 <span class="lineNum" id="container649"><a name="649"></a><a href="#649" id="line649"> 649</a> </span> : *
2156 <span class="lineNum" id="container650"><a name="650"></a><a href="#650" id="line650"> 650</a> </span> : * This method receive a MongoCursor and make
2157 <span class="lineNum" id="container651"><a name="651"></a><a href="#651" id="line651"> 651</a> </span> : * it iterable.
2158 <span class="lineNum" id="container652"><a name="652"></a><a href="#652" id="line652"> 652</a> </span> : *
2159 <span class="lineNum" id="container653"><a name="653"></a><a href="#653" id="line653"> 653</a> </span> : * @param MongoCursor $obj
2160 <span class="lineNum" id="container654"><a name="654"></a><a href="#654" id="line654"> 654</a> </span> : *
2161 <span class="lineNum" id="container655"><a name="655"></a><a href="#655" id="line655"> 655</a> </span> : * @return void
2162 <span class="lineNum" id="container656"><a name="656"></a><a href="#656" id="line656"> 656</a> </span> : */
2163 <span class="lineNum" id="container657"><a name="657"></a><a href="#657" id="line657"> 657</a> </span> : final protected function setCursor(MongoCursor $obj)
2164 <span class="lineNum" id="container658"><a name="658"></a><a href="#658" id="line658"> 658</a> </span> : {
2165 <span class="lineNum" id="container659"><a name="659"></a><a href="#659" id="line659"> 659</a> </span><span class="lineCov"> 28 : $this-&gt;_cursor = $obj; </span>
2166 <span class="lineNum" id="container660"><a name="660"></a><a href="#660" id="line660"> 660</a> </span><span class="lineCov"> 28 : $obj-&gt;reset(); </span>
2167 <span class="lineNum" id="container661"><a name="661"></a><a href="#661" id="line661"> 661</a> </span><span class="lineCov"> 28 : $this-&gt;setResult($obj-&gt;getNext()); </span>
2168 <span class="lineNum" id="container662"><a name="662"></a><a href="#662" id="line662"> 662</a> </span><span class="lineCov"> 28 : } </span>
2169 <span class="lineNum" id="container663"><a name="663"></a><a href="#663" id="line663"> 663</a> </span> : // }}}
2170 <span class="lineNum" id="container664"><a name="664"></a><a href="#664" id="line664"> 664</a> </span> :
2171 <span class="lineNum" id="container665"><a name="665"></a><a href="#665" id="line665"> 665</a> </span> : // void setResult(Array $obj) {{{
2172 <span class="lineNum" id="container666"><a name="666"></a><a href="#666" id="line666"> 666</a> </span> : /**
2173 <span class="lineNum" id="container667"><a name="667"></a><a href="#667" id="line667"> 667</a> </span> : * Set Result
2174 <span class="lineNum" id="container668"><a name="668"></a><a href="#668" id="line668"> 668</a> </span> : *
2175 <span class="lineNum" id="container669"><a name="669"></a><a href="#669" id="line669"> 669</a> </span> : * This method takes an document and copy it
2176 <span class="lineNum" id="container670"><a name="670"></a><a href="#670" id="line670"> 670</a> </span> : * as properties in this object.
2177 <span class="lineNum" id="container671"><a name="671"></a><a href="#671" id="line671"> 671</a> </span> : *
2178 <span class="lineNum" id="container672"><a name="672"></a><a href="#672" id="line672"> 672</a> </span> : * @param Array $obj
2179 <span class="lineNum" id="container673"><a name="673"></a><a href="#673" id="line673"> 673</a> </span> : *
2180 <span class="lineNum" id="container674"><a name="674"></a><a href="#674" id="line674"> 674</a> </span> : * @return void
2181 <span class="lineNum" id="container675"><a name="675"></a><a href="#675" id="line675"> 675</a> </span> : */
2182 <span class="lineNum" id="container676"><a name="676"></a><a href="#676" id="line676"> 676</a> </span> : final protected function setResult($obj)
2183 <span class="lineNum" id="container677"><a name="677"></a><a href="#677" id="line677"> 677</a> </span> : {
2184 <span class="lineNum" id="container678"><a name="678"></a><a href="#678" id="line678"> 678</a> </span> : /* Unsetting previous results, if any */
2185 <span class="lineNum" id="container679"><a name="679"></a><a href="#679" id="line679"> 679</a> </span><span class="lineCov"> 35 : foreach (array_keys(get_document_vars($this, FALSE)) as $key) { </span>
2186 <span class="lineNum" id="container680"><a name="680"></a><a href="#680" id="line680"> 680</a> </span><span class="lineCov"> 34 : unset($this-&gt;$key); </span>
2187 <span class="lineNum" id="container681"><a name="681"></a><a href="#681" id="line681"> 681</a> </span><span class="lineCov"> 35 : } </span>
2188 <span class="lineNum" id="container682"><a name="682"></a><a href="#682" id="line682"> 682</a> </span><span class="lineCov"> 35 : $this-&gt;_id = NULL; </span>
2189 <span class="lineNum" id="container683"><a name="683"></a><a href="#683" id="line683"> 683</a> </span> :
2190 <span class="lineNum" id="container684"><a name="684"></a><a href="#684" id="line684"> 684</a> </span> : /* Add our current resultset as our object's property */
2191 <span class="lineNum" id="container685"><a name="685"></a><a href="#685" id="line685"> 685</a> </span><span class="lineCov"> 35 : foreach ((array)$obj as $key =&gt; $value) { </span>
2192 <span class="lineNum" id="container686"><a name="686"></a><a href="#686" id="line686"> 686</a> </span><span class="lineCov"> 32 : if ($key[0] == '$') { </span>
2193 <span class="lineNum" id="container687"><a name="687"></a><a href="#687" id="line687"> 687</a> </span><span class="lineNoCov"> 0 : continue; </span>
2194 <span class="lineNum" id="container688"><a name="688"></a><a href="#688" id="line688"> 688</a> </span><span class="lineDeadCode"> : } </span>
2195 <span class="lineNum" id="container689"><a name="689"></a><a href="#689" id="line689"> 689</a> </span><span class="lineCov"> 32 : $this-&gt;$key = $value; </span>
2196 <span class="lineNum" id="container690"><a name="690"></a><a href="#690" id="line690"> 690</a> </span><span class="lineCov"> 35 : } </span>
2197 <span class="lineNum" id="container691"><a name="691"></a><a href="#691" id="line691"> 691</a> </span> :
2198 <span class="lineNum" id="container692"><a name="692"></a><a href="#692" id="line692"> 692</a> </span> : /* Save our record */
2199 <span class="lineNum" id="container693"><a name="693"></a><a href="#693" id="line693"> 693</a> </span><span class="lineCov"> 35 : $this-&gt;_current = $obj; </span>
2200 <span class="lineNum" id="container694"><a name="694"></a><a href="#694" id="line694"> 694</a> </span><span class="lineCov"> 35 : } </span>
2201 <span class="lineNum" id="container695"><a name="695"></a><a href="#695" id="line695"> 695</a> </span> : // }}}
2202 <span class="lineNum" id="container696"><a name="696"></a><a href="#696" id="line696"> 696</a> </span> :
2203 <span class="lineNum" id="container697"><a name="697"></a><a href="#697" id="line697"> 697</a> </span> : // this find([$_id]) {{{
2204 <span class="lineNum" id="container698"><a name="698"></a><a href="#698" id="line698"> 698</a> </span> : /**
2205 <span class="lineNum" id="container699"><a name="699"></a><a href="#699" id="line699"> 699</a> </span> : * Simple find.
2206 <span class="lineNum" id="container700"><a name="700"></a><a href="#700" id="line700"> 700</a> </span> : *
2207 <span class="lineNum" id="container701"><a name="701"></a><a href="#701" id="line701"> 701</a> </span> : * Really simple find, which uses this object properties
2208 <span class="lineNum" id="container702"><a name="702"></a><a href="#702" id="line702"> 702</a> </span> : * for fast filtering
2209 <span class="lineNum" id="container703"><a name="703"></a><a href="#703" id="line703"> 703</a> </span> : *
2210 <span class="lineNum" id="container704"><a name="704"></a><a href="#704" id="line704"> 704</a> </span> : * @return object this
2211 <span class="lineNum" id="container705"><a name="705"></a><a href="#705" id="line705"> 705</a> </span> : */
2212 <span class="lineNum" id="container706"><a name="706"></a><a href="#706" id="line706"> 706</a> </span> : final function find($_id = NULL)
2213 <span class="lineNum" id="container707"><a name="707"></a><a href="#707" id="line707"> 707</a> </span> : {
2214 <span class="lineNum" id="container708"><a name="708"></a><a href="#708" id="line708"> 708</a> </span><span class="lineCov"> 3 : $vars = get_document_vars($this); </span>
2215 <span class="lineNum" id="container709"><a name="709"></a><a href="#709" id="line709"> 709</a> </span><span class="lineCov"> 3 : $parent_class = __CLASS__; </span>
2216 <span class="lineNum" id="container710"><a name="710"></a><a href="#710" id="line710"> 710</a> </span><span class="lineCov"> 3 : foreach ($vars as $key =&gt; $value) { </span>
2217 <span class="lineNum" id="container711"><a name="711"></a><a href="#711" id="line711"> 711</a> </span><span class="lineCov"> 3 : if (!$value) { </span>
2218 <span class="lineNum" id="container712"><a name="712"></a><a href="#712" id="line712"> 712</a> </span><span class="lineCov"> 3 : unset($vars[$key]); </span>
2219 <span class="lineNum" id="container713"><a name="713"></a><a href="#713" id="line713"> 713</a> </span><span class="lineCov"> 3 : } </span>
2220 <span class="lineNum" id="container714"><a name="714"></a><a href="#714" id="line714"> 714</a> </span><span class="lineCov"> 3 : if ($value InstanceOf $parent_class) { </span>
2221 <span class="lineNum" id="container715"><a name="715"></a><a href="#715" id="line715"> 715</a> </span><span class="lineCov"> 1 : $this-&gt;getColumnDeference($vars, $key, $value); </span>
2222 <span class="lineNum" id="container716"><a name="716"></a><a href="#716" id="line716"> 716</a> </span><span class="lineCov"> 1 : unset($vars[$key]); /* delete old value */ </span>
2223 <span class="lineNum" id="container717"><a name="717"></a><a href="#717" id="line717"> 717</a> </span><span class="lineCov"> 1 : } </span>
2224 <span class="lineNum" id="container718"><a name="718"></a><a href="#718" id="line718"> 718</a> </span><span class="lineCov"> 3 : } </span>
2225 <span class="lineNum" id="container719"><a name="719"></a><a href="#719" id="line719"> 719</a> </span><span class="lineCov"> 3 : if ($_id != NULL) { </span>
2226 <span class="lineNum" id="container720"><a name="720"></a><a href="#720" id="line720"> 720</a> </span><span class="lineCov"> 3 : if (is_array($_id)) { </span>
2227 <span class="lineNum" id="container721"><a name="721"></a><a href="#721" id="line721"> 721</a> </span><span class="lineCov"> 2 : $vars['_id'] = array('$in' =&gt; $_id); </span>
2228 <span class="lineNum" id="container722"><a name="722"></a><a href="#722" id="line722"> 722</a> </span><span class="lineCov"> 2 : } else { </span>
2229 <span class="lineNum" id="container723"><a name="723"></a><a href="#723" id="line723"> 723</a> </span><span class="lineCov"> 1 : $vars['_id'] = $_id; </span>
2230 <span class="lineNum" id="container724"><a name="724"></a><a href="#724" id="line724"> 724</a> </span> : }
2231 <span class="lineNum" id="container725"><a name="725"></a><a href="#725" id="line725"> 725</a> </span><span class="lineCov"> 3 : } </span>
2232 <span class="lineNum" id="container726"><a name="726"></a><a href="#726" id="line726"> 726</a> </span><span class="lineCov"> 3 : $res = $this-&gt;_getCollection()-&gt;find($vars); </span>
2233 <span class="lineNum" id="container727"><a name="727"></a><a href="#727" id="line727"> 727</a> </span><span class="lineCov"> 3 : $this-&gt;setCursor($res); </span>
2234 <span class="lineNum" id="container728"><a name="728"></a><a href="#728" id="line728"> 728</a> </span><span class="lineCov"> 3 : return $this; </span>
2235 <span class="lineNum" id="container729"><a name="729"></a><a href="#729" id="line729"> 729</a> </span><span class="lineDeadCode"> : } </span>
2236 <span class="lineNum" id="container730"><a name="730"></a><a href="#730" id="line730"> 730</a> </span> : // }}}
2237 <span class="lineNum" id="container731"><a name="731"></a><a href="#731" id="line731"> 731</a> </span> :
2238 <span class="lineNum" id="container732"><a name="732"></a><a href="#732" id="line732"> 732</a> </span> : // void save(bool $async) {{{
2239 <span class="lineNum" id="container733"><a name="733"></a><a href="#733" id="line733"> 733</a> </span> : /**
2240 <span class="lineNum" id="container734"><a name="734"></a><a href="#734" id="line734"> 734</a> </span> : * Save
2241 <span class="lineNum" id="container735"><a name="735"></a><a href="#735" id="line735"> 735</a> </span> : *
2242 <span class="lineNum" id="container736"><a name="736"></a><a href="#736" id="line736"> 736</a> </span> : * This method save the current document in MongoDB. If
2243 <span class="lineNum" id="container737"><a name="737"></a><a href="#737" id="line737"> 737</a> </span> : * we're modifying a document, a update is performed, otherwise
2244 <span class="lineNum" id="container738"><a name="738"></a><a href="#738" id="line738"> 738</a> </span> : * the document is inserted.
2245 <span class="lineNum" id="container739"><a name="739"></a><a href="#739" id="line739"> 739</a> </span> : *
2246 <span class="lineNum" id="container740"><a name="740"></a><a href="#740" id="line740"> 740</a> </span> : * On updates, special operations such as $set, $pushAll, $pullAll
2247 <span class="lineNum" id="container741"><a name="741"></a><a href="#741" id="line741"> 741</a> </span> : * and $unset in order to perform efficient updates
2248 <span class="lineNum" id="container742"><a name="742"></a><a href="#742" id="line742"> 742</a> </span> : *
2249 <span class="lineNum" id="container743"><a name="743"></a><a href="#743" id="line743"> 743</a> </span> : * @param bool $async
2250 <span class="lineNum" id="container744"><a name="744"></a><a href="#744" id="line744"> 744</a> </span> : *
2251 <span class="lineNum" id="container745"><a name="745"></a><a href="#745" id="line745"> 745</a> </span> : * @return void
2252 <span class="lineNum" id="container746"><a name="746"></a><a href="#746" id="line746"> 746</a> </span> : */
2253 <span class="lineNum" id="container747"><a name="747"></a><a href="#747" id="line747"> 747</a> </span> : final function save($async=TRUE)
2254 <span class="lineNum" id="container748"><a name="748"></a><a href="#748" id="line748"> 748</a> </span> : {
2255 <span class="lineNum" id="container749"><a name="749"></a><a href="#749" id="line749"> 749</a> </span><span class="lineCov"> 20 : $update = isset($this-&gt;_id) &amp;&amp; $this-&gt;_id InstanceOf MongoID; </span>
2256 <span class="lineNum" id="container750"><a name="750"></a><a href="#750" id="line750"> 750</a> </span><span class="lineCov"> 20 : $conn = $this-&gt;_getCollection(); </span>
2257 <span class="lineNum" id="container751"><a name="751"></a><a href="#751" id="line751"> 751</a> </span><span class="lineCov"> 20 : $document = $this-&gt;getCurrentDocument($update); </span>
2258 <span class="lineNum" id="container752"><a name="752"></a><a href="#752" id="line752"> 752</a> </span><span class="lineCov"> 19 : $object = $this-&gt;getDocumentVars(); </span>
2259 <span class="lineNum" id="container753"><a name="753"></a><a href="#753" id="line753"> 753</a> </span> :
2260 <span class="lineNum" id="container754"><a name="754"></a><a href="#754" id="line754"> 754</a> </span><span class="lineCov"> 19 : if (isset($this-&gt;_id)) { </span>
2261 <span class="lineNum" id="container755"><a name="755"></a><a href="#755" id="line755"> 755</a> </span><span class="lineCov"> 8 : $object['_id'] = $this-&gt;_id; </span>
2262 <span class="lineNum" id="container756"><a name="756"></a><a href="#756" id="line756"> 756</a> </span><span class="lineCov"> 8 : } </span>
2263 <span class="lineNum" id="container757"><a name="757"></a><a href="#757" id="line757"> 757</a> </span> :
2264 <span class="lineNum" id="container758"><a name="758"></a><a href="#758" id="line758"> 758</a> </span><span class="lineCov"> 19 : if (count($document) == 0) { </span>
2265 <span class="lineNum" id="container759"><a name="759"></a><a href="#759" id="line759"> 759</a> </span><span class="lineCov"> 1 : return; /*nothing to do */ </span>
2266 <span class="lineNum" id="container760"><a name="760"></a><a href="#760" id="line760"> 760</a> </span><span class="lineDeadCode"> : } </span>
2267 <span class="lineNum" id="container761"><a name="761"></a><a href="#761" id="line761"> 761</a> </span> :
2268 <span class="lineNum" id="container762"><a name="762"></a><a href="#762" id="line762"> 762</a> </span> : /* PRE-save hook */
2269 <span class="lineNum" id="container763"><a name="763"></a><a href="#763" id="line763"> 763</a> </span><span class="lineCov"> 19 : $this-&gt;triggerEvent('before_'.($update ? 'update' : 'create'), array(&amp;$document, $object)); </span>
2270 <span class="lineNum" id="container764"><a name="764"></a><a href="#764" id="line764"> 764</a> </span> :
2271 <span class="lineNum" id="container765"><a name="765"></a><a href="#765" id="line765"> 765</a> </span><span class="lineCov"> 19 : if ($update) { </span>
2272 <span class="lineNum" id="container766"><a name="766"></a><a href="#766" id="line766"> 766</a> </span><span class="lineCov"> 8 : $conn-&gt;update(array('_id' =&gt; $this-&gt;_id), $document, array('safe' =&gt; $async)); </span>
2273 <span class="lineNum" id="container767"><a name="767"></a><a href="#767" id="line767"> 767</a> </span><span class="lineCov"> 8 : if (isset($document['$set'])) { </span>
2274 <span class="lineNum" id="container768"><a name="768"></a><a href="#768" id="line768"> 768</a> </span><span class="lineCov"> 7 : foreach ($document['$set'] as $key =&gt; $value) { </span>
2275 <span class="lineNum" id="container769"><a name="769"></a><a href="#769" id="line769"> 769</a> </span><span class="lineCov"> 7 : if (strpos($key, &quot;.&quot;) === FALSE) { </span>
2276 <span class="lineNum" id="container770"><a name="770"></a><a href="#770" id="line770"> 770</a> </span><span class="lineCov"> 7 : $this-&gt;_current[$key] = $value; </span>
2277 <span class="lineNum" id="container771"><a name="771"></a><a href="#771" id="line771"> 771</a> </span><span class="lineCov"> 7 : $this-&gt;$key = $value; </span>
2278 <span class="lineNum" id="container772"><a name="772"></a><a href="#772" id="line772"> 772</a> </span><span class="lineCov"> 7 : } else { </span>
2279 <span class="lineNum" id="container773"><a name="773"></a><a href="#773" id="line773"> 773</a> </span><span class="lineCov"> 2 : $keys = explode(&quot;.&quot;, $key); </span>
2280 <span class="lineNum" id="container774"><a name="774"></a><a href="#774" id="line774"> 774</a> </span><span class="lineCov"> 2 : $key = $keys[0]; </span>
2281 <span class="lineNum" id="container775"><a name="775"></a><a href="#775" id="line775"> 775</a> </span><span class="lineCov"> 2 : $arr = &amp; $this-&gt;$key; </span>
2282 <span class="lineNum" id="container776"><a name="776"></a><a href="#776" id="line776"> 776</a> </span><span class="lineCov"> 2 : $arrc = &amp; $this-&gt;_current[$key]; </span>
2283 <span class="lineNum" id="container777"><a name="777"></a><a href="#777" id="line777"> 777</a> </span><span class="lineCov"> 2 : for ($i=1; $i &lt; count($keys)-1; $i++) { </span>
2284 <span class="lineNum" id="container778"><a name="778"></a><a href="#778" id="line778"> 778</a> </span><span class="lineCov"> 1 : $arr = &amp;$arr[$keys[$i]]; </span>
2285 <span class="lineNum" id="container779"><a name="779"></a><a href="#779" id="line779"> 779</a> </span><span class="lineCov"> 1 : $arrc = &amp;$arrc[$keys[$i]]; </span>
2286 <span class="lineNum" id="container780"><a name="780"></a><a href="#780" id="line780"> 780</a> </span><span class="lineCov"> 1 : } </span>
2287 <span class="lineNum" id="container781"><a name="781"></a><a href="#781" id="line781"> 781</a> </span><span class="lineCov"> 2 : $arr [ $keys[$i] ] = $value; </span>
2288 <span class="lineNum" id="container782"><a name="782"></a><a href="#782" id="line782"> 782</a> </span><span class="lineCov"> 2 : $arrc[ $keys[$i] ] = $value; </span>
2289 <span class="lineNum" id="container783"><a name="783"></a><a href="#783" id="line783"> 783</a> </span> : }
2290 <span class="lineNum" id="container784"><a name="784"></a><a href="#784" id="line784"> 784</a> </span><span class="lineCov"> 7 : } </span>
2291 <span class="lineNum" id="container785"><a name="785"></a><a href="#785" id="line785"> 785</a> </span><span class="lineCov"> 7 : } </span>
2292 <span class="lineNum" id="container786"><a name="786"></a><a href="#786" id="line786"> 786</a> </span><span class="lineCov"> 8 : if (isset($document['$unset'])) { </span>
2293 <span class="lineNum" id="container787"><a name="787"></a><a href="#787" id="line787"> 787</a> </span><span class="lineCov"> 2 : foreach ($document['$unset'] as $key =&gt; $value) { </span>
2294 <span class="lineNum" id="container788"><a name="788"></a><a href="#788" id="line788"> 788</a> </span><span class="lineCov"> 2 : if (strpos($key, &quot;.&quot;) === FALSE) { </span>
2295 <span class="lineNum" id="container789"><a name="789"></a><a href="#789" id="line789"> 789</a> </span><span class="lineCov"> 1 : unset($this-&gt;_current[$key]); </span>
2296 <span class="lineNum" id="container790"><a name="790"></a><a href="#790" id="line790"> 790</a> </span><span class="lineCov"> 1 : unset($this-&gt;$key); </span>
2297 <span class="lineNum" id="container791"><a name="791"></a><a href="#791" id="line791"> 791</a> </span><span class="lineCov"> 1 : } else { </span>
2298 <span class="lineNum" id="container792"><a name="792"></a><a href="#792" id="line792"> 792</a> </span><span class="lineCov"> 2 : $keys = explode(&quot;.&quot;, $key); </span>
2299 <span class="lineNum" id="container793"><a name="793"></a><a href="#793" id="line793"> 793</a> </span><span class="lineCov"> 2 : $key = $keys[0]; </span>
2300 <span class="lineNum" id="container794"><a name="794"></a><a href="#794" id="line794"> 794</a> </span><span class="lineCov"> 2 : $arr = &amp; $this-&gt;$key; </span>
2301 <span class="lineNum" id="container795"><a name="795"></a><a href="#795" id="line795"> 795</a> </span><span class="lineCov"> 2 : $arrc = &amp; $this-&gt;_current[$key]; </span>
2302 <span class="lineNum" id="container796"><a name="796"></a><a href="#796" id="line796"> 796</a> </span><span class="lineCov"> 2 : for ($i=1; $i &lt; count($keys)-1; $i++) { </span>
2303 <span class="lineNum" id="container797"><a name="797"></a><a href="#797" id="line797"> 797</a> </span><span class="lineCov"> 1 : $arr = &amp;$arr[$keys[$i]]; </span>
2304 <span class="lineNum" id="container798"><a name="798"></a><a href="#798" id="line798"> 798</a> </span><span class="lineCov"> 1 : $arrc = &amp;$arrc[$keys[$i]]; </span>
2305 <span class="lineNum" id="container799"><a name="799"></a><a href="#799" id="line799"> 799</a> </span><span class="lineCov"> 1 : } </span>
2306 <span class="lineNum" id="container800"><a name="800"></a><a href="#800" id="line800"> 800</a> </span><span class="lineCov"> 2 : unset($arr [ $keys[$i] ]); </span>
2307 <span class="lineNum" id="container801"><a name="801"></a><a href="#801" id="line801"> 801</a> </span><span class="lineCov"> 2 : unset($arrc[ $keys[$i] ]); </span>
2308 <span class="lineNum" id="container802"><a name="802"></a><a href="#802" id="line802"> 802</a> </span> : }
2309 <span class="lineNum" id="container803"><a name="803"></a><a href="#803" id="line803"> 803</a> </span><span class="lineCov"> 2 : } </span>
2310 <span class="lineNum" id="container804"><a name="804"></a><a href="#804" id="line804"> 804</a> </span><span class="lineCov"> 2 : } </span>
2311 <span class="lineNum" id="container805"><a name="805"></a><a href="#805" id="line805"> 805</a> </span><span class="lineCov"> 8 : } else { </span>
2312 <span class="lineNum" id="container806"><a name="806"></a><a href="#806" id="line806"> 806</a> </span><span class="lineCov"> 18 : $conn-&gt;insert($document, $async); </span>
2313 <span class="lineNum" id="container807"><a name="807"></a><a href="#807" id="line807"> 807</a> </span><span class="lineCov"> 18 : $this-&gt;setResult($document); </span>
2314 <span class="lineNum" id="container808"><a name="808"></a><a href="#808" id="line808"> 808</a> </span> : }
2315 <span class="lineNum" id="container809"><a name="809"></a><a href="#809" id="line809"> 809</a> </span> :
2316 <span class="lineNum" id="container810"><a name="810"></a><a href="#810" id="line810"> 810</a> </span><span class="lineCov"> 19 : $this-&gt;triggerEvent('after_'.($update ? 'update' : 'create'), array($document, $object)); </span>
2317 <span class="lineNum" id="container811"><a name="811"></a><a href="#811" id="line811"> 811</a> </span> :
2318 <span class="lineNum" id="container812"><a name="812"></a><a href="#812" id="line812"> 812</a> </span><span class="lineCov"> 19 : return TRUE; </span>
2319 <span class="lineNum" id="container813"><a name="813"></a><a href="#813" id="line813"> 813</a> </span><span class="lineDeadCode"> : } </span>
2320 <span class="lineNum" id="container814"><a name="814"></a><a href="#814" id="line814"> 814</a> </span> : // }}}
2321 <span class="lineNum" id="container815"><a name="815"></a><a href="#815" id="line815"> 815</a> </span> :
2322 <span class="lineNum" id="container816"><a name="816"></a><a href="#816" id="line816"> 816</a> </span> : // bool delete() {{{
2323 <span class="lineNum" id="container817"><a name="817"></a><a href="#817" id="line817"> 817</a> </span> : /**
2324 <span class="lineNum" id="container818"><a name="818"></a><a href="#818" id="line818"> 818</a> </span> : * Delete the current document
2325 <span class="lineNum" id="container819"><a name="819"></a><a href="#819" id="line819"> 819</a> </span> : *
2326 <span class="lineNum" id="container820"><a name="820"></a><a href="#820" id="line820"> 820</a> </span> : * @return bool
2327 <span class="lineNum" id="container821"><a name="821"></a><a href="#821" id="line821"> 821</a> </span> : */
2328 <span class="lineNum" id="container822"><a name="822"></a><a href="#822" id="line822"> 822</a> </span> : final function delete()
2329 <span class="lineNum" id="container823"><a name="823"></a><a href="#823" id="line823"> 823</a> </span> : {
2330 <span class="lineNum" id="container824"><a name="824"></a><a href="#824" id="line824"> 824</a> </span> :
2331 <span class="lineNum" id="container825"><a name="825"></a><a href="#825" id="line825"> 825</a> </span><span class="lineCov"> 4 : $document = array('_id' =&gt; $this-&gt;_id); </span>
2332 <span class="lineNum" id="container826"><a name="826"></a><a href="#826" id="line826"> 826</a> </span><span class="lineCov"> 4 : if ($this-&gt;_cursor InstanceOf MongoCursor) { </span>
2333 <span class="lineNum" id="container827"><a name="827"></a><a href="#827" id="line827"> 827</a> </span><span class="lineCov"> 1 : $this-&gt;triggerEvent('before_delete', array($document)); </span>
2334 <span class="lineNum" id="container828"><a name="828"></a><a href="#828" id="line828"> 828</a> </span><span class="lineCov"> 1 : $result = $this-&gt;_getCollection()-&gt;remove($document); </span>
2335 <span class="lineNum" id="container829"><a name="829"></a><a href="#829" id="line829"> 829</a> </span><span class="lineCov"> 1 : $this-&gt;triggerEvent('after_delete', array($document)); </span>
2336 <span class="lineNum" id="container830"><a name="830"></a><a href="#830" id="line830"> 830</a> </span><span class="lineCov"> 1 : $this-&gt;setResult(array()); </span>
2337 <span class="lineNum" id="container831"><a name="831"></a><a href="#831" id="line831"> 831</a> </span><span class="lineCov"> 1 : return $result; </span>
2338 <span class="lineNum" id="container832"><a name="832"></a><a href="#832" id="line832"> 832</a> </span><span class="lineDeadCode"> : } else { </span>
2339 <span class="lineNum" id="container833"><a name="833"></a><a href="#833" id="line833"> 833</a> </span><span class="lineCov"> 4 : $criteria = (array) $this-&gt;_query; </span>
2340 <span class="lineNum" id="container834"><a name="834"></a><a href="#834" id="line834"> 834</a> </span> :
2341 <span class="lineNum" id="container835"><a name="835"></a><a href="#835" id="line835"> 835</a> </span> : /* remove */
2342 <span class="lineNum" id="container836"><a name="836"></a><a href="#836" id="line836"> 836</a> </span><span class="lineCov"> 4 : $this-&gt;triggerEvent('before_delete', array($document)); </span>
2343 <span class="lineNum" id="container837"><a name="837"></a><a href="#837" id="line837"> 837</a> </span><span class="lineCov"> 4 : $this-&gt;_getCollection()-&gt;remove($criteria); </span>
2344 <span class="lineNum" id="container838"><a name="838"></a><a href="#838" id="line838"> 838</a> </span><span class="lineCov"> 4 : $this-&gt;triggerEvent('after_delete', array($document)); </span>
2345 <span class="lineNum" id="container839"><a name="839"></a><a href="#839" id="line839"> 839</a> </span> :
2346 <span class="lineNum" id="container840"><a name="840"></a><a href="#840" id="line840"> 840</a> </span> : /* reset object */
2347 <span class="lineNum" id="container841"><a name="841"></a><a href="#841" id="line841"> 841</a> </span><span class="lineCov"> 4 : $this-&gt;reset(); </span>
2348 <span class="lineNum" id="container842"><a name="842"></a><a href="#842" id="line842"> 842</a> </span> :
2349 <span class="lineNum" id="container843"><a name="843"></a><a href="#843" id="line843"> 843</a> </span><span class="lineCov"> 4 : return TRUE; </span>
2350 <span class="lineNum" id="container844"><a name="844"></a><a href="#844" id="line844"> 844</a> </span> : }
2351 <span class="lineNum" id="container845"><a name="845"></a><a href="#845" id="line845"> 845</a> </span><span class="lineDeadCode"> : return FALSE; </span>
2352 <span class="lineNum" id="container846"><a name="846"></a><a href="#846" id="line846"> 846</a> </span><span class="lineDeadCode"> : } </span>
2353 <span class="lineNum" id="container847"><a name="847"></a><a href="#847" id="line847"> 847</a> </span> : // }}}
2354 <span class="lineNum" id="container848"><a name="848"></a><a href="#848" id="line848"> 848</a> </span> :
2355 <span class="lineNum" id="container849"><a name="849"></a><a href="#849" id="line849"> 849</a> </span> : // Update {{{
2356 <span class="lineNum" id="container850"><a name="850"></a><a href="#850" id="line850"> 850</a> </span> : /**
2357 <span class="lineNum" id="container851"><a name="851"></a><a href="#851" id="line851"> 851</a> </span> : * Multiple updates.
2358 <span class="lineNum" id="container852"><a name="852"></a><a href="#852" id="line852"> 852</a> </span> : *
2359 <span class="lineNum" id="container853"><a name="853"></a><a href="#853" id="line853"> 853</a> </span> : * This method perform multiple updates when a given
2360 <span class="lineNum" id="container854"><a name="854"></a><a href="#854" id="line854"> 854</a> </span> : * criteria matchs (using where).
2361 <span class="lineNum" id="container855"><a name="855"></a><a href="#855" id="line855"> 855</a> </span> : *
2362 <span class="lineNum" id="container856"><a name="856"></a><a href="#856" id="line856"> 856</a> </span> : * By default the update is perform safely, but it can be
2363 <span class="lineNum" id="container857"><a name="857"></a><a href="#857" id="line857"> 857</a> </span> : * changed.
2364 <span class="lineNum" id="container858"><a name="858"></a><a href="#858" id="line858"> 858</a> </span> : *
2365 <span class="lineNum" id="container859"><a name="859"></a><a href="#859" id="line859"> 859</a> </span> : * After the operation is done, the criteria is deleted.
2366 <span class="lineNum" id="container860"><a name="860"></a><a href="#860" id="line860"> 860</a> </span> : *
2367 <span class="lineNum" id="container861"><a name="861"></a><a href="#861" id="line861"> 861</a> </span> : * @param array $value Values to set
2368 <span class="lineNum" id="container862"><a name="862"></a><a href="#862" id="line862"> 862</a> </span> : * @param bool $safe Whether or not peform the operation safely
2369 <span class="lineNum" id="container863"><a name="863"></a><a href="#863" id="line863"> 863</a> </span> : *
2370 <span class="lineNum" id="container864"><a name="864"></a><a href="#864" id="line864"> 864</a> </span> : * @return bool
2371 <span class="lineNum" id="container865"><a name="865"></a><a href="#865" id="line865"> 865</a> </span> : *
2372 <span class="lineNum" id="container866"><a name="866"></a><a href="#866" id="line866"> 866</a> </span> : */
2373 <span class="lineNum" id="container867"><a name="867"></a><a href="#867" id="line867"> 867</a> </span> : function update(Array $value, $safe=TRUE)
2374 <span class="lineNum" id="container868"><a name="868"></a><a href="#868" id="line868"> 868</a> </span> : {
2375 <span class="lineNum" id="container869"><a name="869"></a><a href="#869" id="line869"> 869</a> </span><span class="lineCov"> 3 : $this-&gt;_assertNotInQuery(); </span>
2376 <span class="lineNum" id="container870"><a name="870"></a><a href="#870" id="line870"> 870</a> </span> :
2377 <span class="lineNum" id="container871"><a name="871"></a><a href="#871" id="line871"> 871</a> </span><span class="lineCov"> 3 : $criteria = (array) $this-&gt;_query; </span>
2378 <span class="lineNum" id="container872"><a name="872"></a><a href="#872" id="line872"> 872</a> </span><span class="lineCov"> 3 : $options = array('multiple' =&gt; TRUE, 'safe' =&gt; $safe); </span>
2379 <span class="lineNum" id="container873"><a name="873"></a><a href="#873" id="line873"> 873</a> </span> :
2380 <span class="lineNum" id="container874"><a name="874"></a><a href="#874" id="line874"> 874</a> </span> : /* update */
2381 <span class="lineNum" id="container875"><a name="875"></a><a href="#875" id="line875"> 875</a> </span><span class="lineCov"> 3 : $col = $this-&gt;_getCollection(); </span>
2382 <span class="lineNum" id="container876"><a name="876"></a><a href="#876" id="line876"> 876</a> </span><span class="lineCov"> 3 : $col-&gt;update($criteria, array('$set' =&gt; $value), $options); </span>
2383 <span class="lineNum" id="container877"><a name="877"></a><a href="#877" id="line877"> 877</a> </span> :
2384 <span class="lineNum" id="container878"><a name="878"></a><a href="#878" id="line878"> 878</a> </span> : /* reset object */
2385 <span class="lineNum" id="container879"><a name="879"></a><a href="#879" id="line879"> 879</a> </span><span class="lineCov"> 3 : $this-&gt;reset(); </span>
2386 <span class="lineNum" id="container880"><a name="880"></a><a href="#880" id="line880"> 880</a> </span> :
2387 <span class="lineNum" id="container881"><a name="881"></a><a href="#881" id="line881"> 881</a> </span><span class="lineCov"> 3 : return TRUE; </span>
2388 <span class="lineNum" id="container882"><a name="882"></a><a href="#882" id="line882"> 882</a> </span><span class="lineDeadCode"> : } </span>
2389 <span class="lineNum" id="container883"><a name="883"></a><a href="#883" id="line883"> 883</a> </span> : // }}}
2390 <span class="lineNum" id="container884"><a name="884"></a><a href="#884" id="line884"> 884</a> </span> :
2391 <span class="lineNum" id="container885"><a name="885"></a><a href="#885" id="line885"> 885</a> </span> : // void drop() {{{
2392 <span class="lineNum" id="container886"><a name="886"></a><a href="#886" id="line886"> 886</a> </span> : /**
2393 <span class="lineNum" id="container887"><a name="887"></a><a href="#887" id="line887"> 887</a> </span> : * Delete the current colleciton and all its documents
2394 <span class="lineNum" id="container888"><a name="888"></a><a href="#888" id="line888"> 888</a> </span> : *
2395 <span class="lineNum" id="container889"><a name="889"></a><a href="#889" id="line889"> 889</a> </span> : * @return void
2396 <span class="lineNum" id="container890"><a name="890"></a><a href="#890" id="line890"> 890</a> </span> : */
2397 <span class="lineNum" id="container891"><a name="891"></a><a href="#891" id="line891"> 891</a> </span> : final static function drop()
2398 <span class="lineNum" id="container892"><a name="892"></a><a href="#892" id="line892"> 892</a> </span> : {
2399 <span class="lineNum" id="container893"><a name="893"></a><a href="#893" id="line893"> 893</a> </span><span class="lineCov"> 5 : $class = get_called_class(); </span>
2400 <span class="lineNum" id="container894"><a name="894"></a><a href="#894" id="line894"> 894</a> </span><span class="lineCov"> 5 : if ($class == __CLASS__) { </span>
2401 <span class="lineNum" id="container895"><a name="895"></a><a href="#895" id="line895"> 895</a> </span><span class="lineCov"> 1 : return FALSE; </span>
2402 <span class="lineNum" id="container896"><a name="896"></a><a href="#896" id="line896"> 896</a> </span><span class="lineDeadCode"> : } </span>
2403 <span class="lineNum" id="container897"><a name="897"></a><a href="#897" id="line897"> 897</a> </span><span class="lineCov"> 5 : $obj = new $class; </span>
2404 <span class="lineNum" id="container898"><a name="898"></a><a href="#898" id="line898"> 898</a> </span><span class="lineCov"> 5 : $obj-&gt;triggerEvent('before_drop'); </span>
2405 <span class="lineNum" id="container899"><a name="899"></a><a href="#899" id="line899"> 899</a> </span><span class="lineCov"> 5 : $result = $obj-&gt;_getCollection()-&gt;drop(); </span>
2406 <span class="lineNum" id="container900"><a name="900"></a><a href="#900" id="line900"> 900</a> </span><span class="lineCov"> 5 : $obj-&gt;triggerEvent('after_drop'); </span>
2407 <span class="lineNum" id="container901"><a name="901"></a><a href="#901" id="line901"> 901</a> </span><span class="lineCov"> 5 : if ($result['ok'] != 1) { </span>
2408 <span class="lineNum" id="container902"><a name="902"></a><a href="#902" id="line902"> 902</a> </span><span class="lineCov"> 3 : throw new ActiveMongo_Exception($result['errmsg']); </span>
2409 <span class="lineNum" id="container903"><a name="903"></a><a href="#903" id="line903"> 903</a> </span><span class="lineDeadCode"> : } </span>
2410 <span class="lineNum" id="container904"><a name="904"></a><a href="#904" id="line904"> 904</a> </span><span class="lineCov"> 4 : return TRUE; </span>
2411 <span class="lineNum" id="container905"><a name="905"></a><a href="#905" id="line905"> 905</a> </span> :
2412 <span class="lineNum" id="container906"><a name="906"></a><a href="#906" id="line906"> 906</a> </span><span class="lineDeadCode"> : } </span>
2413 <span class="lineNum" id="container907"><a name="907"></a><a href="#907" id="line907"> 907</a> </span> : // }}}
2414 <span class="lineNum" id="container908"><a name="908"></a><a href="#908" id="line908"> 908</a> </span> :
2415 <span class="lineNum" id="container909"><a name="909"></a><a href="#909" id="line909"> 909</a> </span> : // int count() {{{
2416 <span class="lineNum" id="container910"><a name="910"></a><a href="#910" id="line910"> 910</a> </span> : /**
2417 <span class="lineNum" id="container911"><a name="911"></a><a href="#911" id="line911"> 911</a> </span> : * Return the number of documents in the actual request. If
2418 <span class="lineNum" id="container912"><a name="912"></a><a href="#912" id="line912"> 912</a> </span> : * we're not in a request, it will return 0.
2419 <span class="lineNum" id="container913"><a name="913"></a><a href="#913" id="line913"> 913</a> </span> : *
2420 <span class="lineNum" id="container914"><a name="914"></a><a href="#914" id="line914"> 914</a> </span> : * @return int
2421 <span class="lineNum" id="container915"><a name="915"></a><a href="#915" id="line915"> 915</a> </span> : */
2422 <span class="lineNum" id="container916"><a name="916"></a><a href="#916" id="line916"> 916</a> </span> : final function count()
2423 <span class="lineNum" id="container917"><a name="917"></a><a href="#917" id="line917"> 917</a> </span> : {
2424 <span class="lineNum" id="container918"><a name="918"></a><a href="#918" id="line918"> 918</a> </span><span class="lineCov"> 9 : if ($this-&gt;valid()) { </span>
2425 <span class="lineNum" id="container919"><a name="919"></a><a href="#919" id="line919"> 919</a> </span><span class="lineCov"> 9 : return $this-&gt;_cursor-&gt;count(); </span>
2426 <span class="lineNum" id="container920"><a name="920"></a><a href="#920" id="line920"> 920</a> </span><span class="lineDeadCode"> : } </span>
2427 <span class="lineNum" id="container921"><a name="921"></a><a href="#921" id="line921"> 921</a> </span><span class="lineCov"> 1 : return 0; </span>
2428 <span class="lineNum" id="container922"><a name="922"></a><a href="#922" id="line922"> 922</a> </span><span class="lineDeadCode"> : } </span>
2429 <span class="lineNum" id="container923"><a name="923"></a><a href="#923" id="line923"> 923</a> </span> : // }}}
2430 <span class="lineNum" id="container924"><a name="924"></a><a href="#924" id="line924"> 924</a> </span> :
2431 <span class="lineNum" id="container925"><a name="925"></a><a href="#925" id="line925"> 925</a> </span> : // void setup() {{{
2432 <span class="lineNum" id="container926"><a name="926"></a><a href="#926" id="line926"> 926</a> </span> : /**
2433 <span class="lineNum" id="container927"><a name="927"></a><a href="#927" id="line927"> 927</a> </span> : * This method should contain all the indexes, and shard keys
2434 <span class="lineNum" id="container928"><a name="928"></a><a href="#928" id="line928"> 928</a> </span> : * needed by the current collection. This try to make
2435 <span class="lineNum" id="container929"><a name="929"></a><a href="#929" id="line929"> 929</a> </span> : * installation on development environments easier.
2436 <span class="lineNum" id="container930"><a name="930"></a><a href="#930" id="line930"> 930</a> </span> : */
2437 <span class="lineNum" id="container931"><a name="931"></a><a href="#931" id="line931"> 931</a> </span> : function setup()
2438 <span class="lineNum" id="container932"><a name="932"></a><a href="#932" id="line932"> 932</a> </span> : {
2439 <span class="lineNum" id="container933"><a name="933"></a><a href="#933" id="line933"> 933</a> </span><span class="lineCov"> 1 : } </span>
2440 <span class="lineNum" id="container934"><a name="934"></a><a href="#934" id="line934"> 934</a> </span> : // }}}
2441 <span class="lineNum" id="container935"><a name="935"></a><a href="#935" id="line935"> 935</a> </span> :
2442 <span class="lineNum" id="container936"><a name="936"></a><a href="#936" id="line936"> 936</a> </span> : // batchInsert {{{
2443 <span class="lineNum" id="container937"><a name="937"></a><a href="#937" id="line937"> 937</a> </span> : /**
2444 <span class="lineNum" id="container938"><a name="938"></a><a href="#938" id="line938"> 938</a> </span> : * Perform a batchInsert of objects.
2445 <span class="lineNum" id="container939"><a name="939"></a><a href="#939" id="line939"> 939</a> </span> : *
2446 <span class="lineNum" id="container940"><a name="940"></a><a href="#940" id="line940"> 940</a> </span> : * @param array $documents Arrays of documents to insert
2447 <span class="lineNum" id="container941"><a name="941"></a><a href="#941" id="line941"> 941</a> </span> : * @param bool $safe True if a safe will be performed, this means data validation, and wait for MongoDB OK reply
2448 <span class="lineNum" id="container942"><a name="942"></a><a href="#942" id="line942"> 942</a> </span> : * @param bool $on_error_continue If an error happen while validating an object, if it should continue or not
2449 <span class="lineNum" id="container943"><a name="943"></a><a href="#943" id="line943"> 943</a> </span> : *
2450 <span class="lineNum" id="container944"><a name="944"></a><a href="#944" id="line944"> 944</a> </span> : * @return bool
2451 <span class="lineNum" id="container945"><a name="945"></a><a href="#945" id="line945"> 945</a> </span> : */
2452 <span class="lineNum" id="container946"><a name="946"></a><a href="#946" id="line946"> 946</a> </span> : final public static function batchInsert(Array $documents, $safe=TRUE, $on_error_continue=TRUE)
2453 <span class="lineNum" id="container947"><a name="947"></a><a href="#947" id="line947"> 947</a> </span> : {
2454 <span class="lineNum" id="container948"><a name="948"></a><a href="#948" id="line948"> 948</a> </span><span class="lineCov"> 3 : $context = get_called_class(); </span>
2455 <span class="lineNum" id="container949"><a name="949"></a><a href="#949" id="line949"> 949</a> </span> :
2456 <span class="lineNum" id="container950"><a name="950"></a><a href="#950" id="line950"> 950</a> </span><span class="lineCov"> 3 : if (__CLASS__ == $context) { </span>
2457 <span class="lineNum" id="container951"><a name="951"></a><a href="#951" id="line951"> 951</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Invalid batchInsert usage&quot;); </span>
2458 <span class="lineNum" id="container952"><a name="952"></a><a href="#952" id="line952"> 952</a> </span><span class="lineDeadCode"> : } </span>
2459 <span class="lineNum" id="container953"><a name="953"></a><a href="#953" id="line953"> 953</a> </span> :
2460 <span class="lineNum" id="container954"><a name="954"></a><a href="#954" id="line954"> 954</a> </span> :
2461 <span class="lineNum" id="container955"><a name="955"></a><a href="#955" id="line955"> 955</a> </span><span class="lineCov"> 3 : if ($safe) { </span>
2462 <span class="lineNum" id="container956"><a name="956"></a><a href="#956" id="line956"> 956</a> </span><span class="lineCov"> 3 : foreach ($documents as $id =&gt; $doc) { </span>
2463 <span class="lineNum" id="container957"><a name="957"></a><a href="#957" id="line957"> 957</a> </span><span class="lineCov"> 3 : $valid = FALSE; </span>
2464 <span class="lineNum" id="container958"><a name="958"></a><a href="#958" id="line958"> 958</a> </span><span class="lineCov"> 3 : if (is_array($doc)) { </span>
2465 <span class="lineNum" id="container959"><a name="959"></a><a href="#959" id="line959"> 959</a> </span> : try {
2466 <span class="lineNum" id="container960"><a name="960"></a><a href="#960" id="line960"> 960</a> </span><span class="lineCov"> 3 : self::triggerEvent('before_create', array(&amp;$doc), $context); </span>
2467 <span class="lineNum" id="container961"><a name="961"></a><a href="#961" id="line961"> 961</a> </span><span class="lineCov"> 3 : self::triggerEvent('before_validate', array(&amp;$doc, $doc), $context); </span>
2468 <span class="lineNum" id="container962"><a name="962"></a><a href="#962" id="line962"> 962</a> </span><span class="lineCov"> 3 : self::triggerEvent('before_validate_creation', array(&amp;$doc, $doc), $context); </span>
2469 <span class="lineNum" id="container963"><a name="963"></a><a href="#963" id="line963"> 963</a> </span><span class="lineCov"> 2 : $documents[$id] = $doc; </span>
2470 <span class="lineNum" id="container964"><a name="964"></a><a href="#964" id="line964"> 964</a> </span><span class="lineCov"> 2 : $valid = TRUE; </span>
2471 <span class="lineNum" id="container965"><a name="965"></a><a href="#965" id="line965"> 965</a> </span><span class="lineCov"> 3 : } catch (Exception $e) {} </span>
2472 <span class="lineNum" id="container966"><a name="966"></a><a href="#966" id="line966"> 966</a> </span><span class="lineCov"> 3 : } </span>
2473 <span class="lineNum" id="container967"><a name="967"></a><a href="#967" id="line967"> 967</a> </span><span class="lineCov"> 3 : if (!$valid) { </span>
2474 <span class="lineNum" id="container968"><a name="968"></a><a href="#968" id="line968"> 968</a> </span><span class="lineCov"> 2 : if (!$on_error_continue) { </span>
2475 <span class="lineNum" id="container969"><a name="969"></a><a href="#969" id="line969"> 969</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_FilterException(&quot;Document $id is invalid&quot;); </span>
2476 <span class="lineNum" id="container970"><a name="970"></a><a href="#970" id="line970"> 970</a> </span><span class="lineDeadCode"> : } </span>
2477 <span class="lineNum" id="container971"><a name="971"></a><a href="#971" id="line971"> 971</a> </span><span class="lineCov"> 2 : unset($documents[$id]); </span>
2478 <span class="lineNum" id="container972"><a name="972"></a><a href="#972" id="line972"> 972</a> </span><span class="lineCov"> 2 : } </span>
2479 <span class="lineNum" id="container973"><a name="973"></a><a href="#973" id="line973"> 973</a> </span><span class="lineCov"> 3 : } </span>
2480 <span class="lineNum" id="container974"><a name="974"></a><a href="#974" id="line974"> 974</a> </span><span class="lineCov"> 3 : } </span>
2481 <span class="lineNum" id="container975"><a name="975"></a><a href="#975" id="line975"> 975</a> </span> :
2482 <span class="lineNum" id="container976"><a name="976"></a><a href="#976" id="line976"> 976</a> </span><span class="lineCov"> 3 : return self::_getCollection()-&gt;batchInsert($documents, array(&quot;safe&quot; =&gt; $safe)); </span>
2483 <span class="lineNum" id="container977"><a name="977"></a><a href="#977" id="line977"> 977</a> </span><span class="lineDeadCode"> : } </span>
2484 <span class="lineNum" id="container978"><a name="978"></a><a href="#978" id="line978"> 978</a> </span> : // }}}
2485 <span class="lineNum" id="container979"><a name="979"></a><a href="#979" id="line979"> 979</a> </span> :
2486 <span class="lineNum" id="container980"><a name="980"></a><a href="#980" id="line980"> 980</a> </span> : // bool addIndex(array $columns, array $options) {{{
2487 <span class="lineNum" id="container981"><a name="981"></a><a href="#981" id="line981"> 981</a> </span> : /**
2488 <span class="lineNum" id="container982"><a name="982"></a><a href="#982" id="line982"> 982</a> </span> : * addIndex
2489 <span class="lineNum" id="container983"><a name="983"></a><a href="#983" id="line983"> 983</a> </span> : *
2490 <span class="lineNum" id="container984"><a name="984"></a><a href="#984" id="line984"> 984</a> </span> : * Create an Index in the current collection.
2491 <span class="lineNum" id="container985"><a name="985"></a><a href="#985" id="line985"> 985</a> </span> : *
2492 <span class="lineNum" id="container986"><a name="986"></a><a href="#986" id="line986"> 986</a> </span> : * @param array $columns L ist of columns
2493 <span class="lineNum" id="container987"><a name="987"></a><a href="#987" id="line987"> 987</a> </span> : * @param array $options Options
2494 <span class="lineNum" id="container988"><a name="988"></a><a href="#988" id="line988"> 988</a> </span> : *
2495 <span class="lineNum" id="container989"><a name="989"></a><a href="#989" id="line989"> 989</a> </span> : * @return bool
2496 <span class="lineNum" id="container990"><a name="990"></a><a href="#990" id="line990"> 990</a> </span> : */
2497 <span class="lineNum" id="container991"><a name="991"></a><a href="#991" id="line991"> 991</a> </span> : final function addIndex($columns, $options=array())
2498 <span class="lineNum" id="container992"><a name="992"></a><a href="#992" id="line992"> 992</a> </span> : {
2499 <span class="lineNum" id="container993"><a name="993"></a><a href="#993" id="line993"> 993</a> </span> : $default_options = array(
2500 <span class="lineNum" id="container994"><a name="994"></a><a href="#994" id="line994"> 994</a> </span><span class="lineCov"> 1 : 'background' =&gt; 1, </span>
2501 <span class="lineNum" id="container995"><a name="995"></a><a href="#995" id="line995"> 995</a> </span><span class="lineCov"> 1 : ); </span>
2502 <span class="lineNum" id="container996"><a name="996"></a><a href="#996" id="line996"> 996</a> </span> :
2503 <span class="lineNum" id="container997"><a name="997"></a><a href="#997" id="line997"> 997</a> </span><span class="lineCov"> 1 : if (!is_array($columns)) { </span>
2504 <span class="lineNum" id="container998"><a name="998"></a><a href="#998" id="line998"> 998</a> </span><span class="lineCov"> 1 : $columns = array($columns =&gt; 1); </span>
2505 <span class="lineNum" id="container999"><a name="999"></a><a href="#999" id="line999"> 999</a> </span><span class="lineCov"> 1 : } </span>
2506 <span class="lineNum" id="container1000"><a name="1000"></a><a href="#1000" id="line1000"> 1000</a> </span> :
2507 <span class="lineNum" id="container1001"><a name="1001"></a><a href="#1001" id="line1001"> 1001</a> </span><span class="lineCov"> 1 : foreach ($columns as $id =&gt; $name) { </span>
2508 <span class="lineNum" id="container1002"><a name="1002"></a><a href="#1002" id="line1002"> 1002</a> </span><span class="lineCov"> 1 : if (is_numeric($id)) { </span>
2509 <span class="lineNum" id="container1003"><a name="1003"></a><a href="#1003" id="line1003"> 1003</a> </span><span class="lineCov"> 1 : unset($columns[$id]); </span>
2510 <span class="lineNum" id="container1004"><a name="1004"></a><a href="#1004" id="line1004"> 1004</a> </span><span class="lineCov"> 1 : $columns[$name] = 1; </span>
2511 <span class="lineNum" id="container1005"><a name="1005"></a><a href="#1005" id="line1005"> 1005</a> </span><span class="lineCov"> 1 : } </span>
2512 <span class="lineNum" id="container1006"><a name="1006"></a><a href="#1006" id="line1006"> 1006</a> </span><span class="lineCov"> 1 : } </span>
2513 <span class="lineNum" id="container1007"><a name="1007"></a><a href="#1007" id="line1007"> 1007</a> </span> :
2514 <span class="lineNum" id="container1008"><a name="1008"></a><a href="#1008" id="line1008"> 1008</a> </span><span class="lineCov"> 1 : foreach ($default_options as $option =&gt; $value) { </span>
2515 <span class="lineNum" id="container1009"><a name="1009"></a><a href="#1009" id="line1009"> 1009</a> </span><span class="lineCov"> 1 : if (!isset($options[$option])) { </span>
2516 <span class="lineNum" id="container1010"><a name="1010"></a><a href="#1010" id="line1010"> 1010</a> </span><span class="lineCov"> 1 : $options[$option] = $value; </span>
2517 <span class="lineNum" id="container1011"><a name="1011"></a><a href="#1011" id="line1011"> 1011</a> </span><span class="lineCov"> 1 : } </span>
2518 <span class="lineNum" id="container1012"><a name="1012"></a><a href="#1012" id="line1012"> 1012</a> </span><span class="lineCov"> 1 : } </span>
2519 <span class="lineNum" id="container1013"><a name="1013"></a><a href="#1013" id="line1013"> 1013</a> </span> :
2520 <span class="lineNum" id="container1014"><a name="1014"></a><a href="#1014" id="line1014"> 1014</a> </span><span class="lineCov"> 1 : $collection = $this-&gt;_getCollection(); </span>
2521 <span class="lineNum" id="container1015"><a name="1015"></a><a href="#1015" id="line1015"> 1015</a> </span> :
2522 <span class="lineNum" id="container1016"><a name="1016"></a><a href="#1016" id="line1016"> 1016</a> </span><span class="lineCov"> 1 : return $collection-&gt;ensureIndex($columns, $options); </span>
2523 <span class="lineNum" id="container1017"><a name="1017"></a><a href="#1017" id="line1017"> 1017</a> </span><span class="lineDeadCode"> : } </span>
2524 <span class="lineNum" id="container1018"><a name="1018"></a><a href="#1018" id="line1018"> 1018</a> </span> : // }}}
2525 <span class="lineNum" id="container1019"><a name="1019"></a><a href="#1019" id="line1019"> 1019</a> </span> :
2526 <span class="lineNum" id="container1020"><a name="1020"></a><a href="#1020" id="line1020"> 1020</a> </span> : // Array getIndexes() {{{
2527 <span class="lineNum" id="container1021"><a name="1021"></a><a href="#1021" id="line1021"> 1021</a> </span> : /**
2528 <span class="lineNum" id="container1022"><a name="1022"></a><a href="#1022" id="line1022"> 1022</a> </span> : * Return an array with all indexes
2529 <span class="lineNum" id="container1023"><a name="1023"></a><a href="#1023" id="line1023"> 1023</a> </span> : *
2530 <span class="lineNum" id="container1024"><a name="1024"></a><a href="#1024" id="line1024"> 1024</a> </span> : * @return array
2531 <span class="lineNum" id="container1025"><a name="1025"></a><a href="#1025" id="line1025"> 1025</a> </span> : */
2532 <span class="lineNum" id="container1026"><a name="1026"></a><a href="#1026" id="line1026"> 1026</a> </span> : final static function getIndexes()
2533 <span class="lineNum" id="container1027"><a name="1027"></a><a href="#1027" id="line1027"> 1027</a> </span> : {
2534 <span class="lineNum" id="container1028"><a name="1028"></a><a href="#1028" id="line1028"> 1028</a> </span><span class="lineCov"> 1 : return self::_getCollection()-&gt;getIndexInfo(); </span>
2535 <span class="lineNum" id="container1029"><a name="1029"></a><a href="#1029" id="line1029"> 1029</a> </span><span class="lineDeadCode"> : } </span>
2536 <span class="lineNum" id="container1030"><a name="1030"></a><a href="#1030" id="line1030"> 1030</a> </span> : // }}}
2537 <span class="lineNum" id="container1031"><a name="1031"></a><a href="#1031" id="line1031"> 1031</a> </span> :
2538 <span class="lineNum" id="container1032"><a name="1032"></a><a href="#1032" id="line1032"> 1032</a> </span> : // string __toString() {{{
2539 <span class="lineNum" id="container1033"><a name="1033"></a><a href="#1033" id="line1033"> 1033</a> </span> : /**
2540 <span class="lineNum" id="container1034"><a name="1034"></a><a href="#1034" id="line1034"> 1034</a> </span> : * To String
2541 <span class="lineNum" id="container1035"><a name="1035"></a><a href="#1035" id="line1035"> 1035</a> </span> : *
2542 <span class="lineNum" id="container1036"><a name="1036"></a><a href="#1036" id="line1036"> 1036</a> </span> : * If this object is treated as a string,
2543 <span class="lineNum" id="container1037"><a name="1037"></a><a href="#1037" id="line1037"> 1037</a> </span> : * it would return its ID.
2544 <span class="lineNum" id="container1038"><a name="1038"></a><a href="#1038" id="line1038"> 1038</a> </span> : *
2545 <span class="lineNum" id="container1039"><a name="1039"></a><a href="#1039" id="line1039"> 1039</a> </span> : * @return string
2546 <span class="lineNum" id="container1040"><a name="1040"></a><a href="#1040" id="line1040"> 1040</a> </span> : */
2547 <span class="lineNum" id="container1041"><a name="1041"></a><a href="#1041" id="line1041"> 1041</a> </span> : function __toString()
2548 <span class="lineNum" id="container1042"><a name="1042"></a><a href="#1042" id="line1042"> 1042</a> </span> : {
2549 <span class="lineNum" id="container1043"><a name="1043"></a><a href="#1043" id="line1043"> 1043</a> </span><span class="lineCov"> 1 : return (string)$this-&gt;getID(); </span>
2550 <span class="lineNum" id="container1044"><a name="1044"></a><a href="#1044" id="line1044"> 1044</a> </span><span class="lineDeadCode"> : } </span>
2551 <span class="lineNum" id="container1045"><a name="1045"></a><a href="#1045" id="line1045"> 1045</a> </span> : // }}}
2552 <span class="lineNum" id="container1046"><a name="1046"></a><a href="#1046" id="line1046"> 1046</a> </span> :
2553 <span class="lineNum" id="container1047"><a name="1047"></a><a href="#1047" id="line1047"> 1047</a> </span> : // array sendCmd(array $cmd) {{{
2554 <span class="lineNum" id="container1048"><a name="1048"></a><a href="#1048" id="line1048"> 1048</a> </span> : /**
2555 <span class="lineNum" id="container1049"><a name="1049"></a><a href="#1049" id="line1049"> 1049</a> </span> : * This method sends a command to the current
2556 <span class="lineNum" id="container1050"><a name="1050"></a><a href="#1050" id="line1050"> 1050</a> </span> : * database.
2557 <span class="lineNum" id="container1051"><a name="1051"></a><a href="#1051" id="line1051"> 1051</a> </span> : *
2558 <span class="lineNum" id="container1052"><a name="1052"></a><a href="#1052" id="line1052"> 1052</a> </span> : * @param array $cmd Current command
2559 <span class="lineNum" id="container1053"><a name="1053"></a><a href="#1053" id="line1053"> 1053</a> </span> : *
2560 <span class="lineNum" id="container1054"><a name="1054"></a><a href="#1054" id="line1054"> 1054</a> </span> : * @return array
2561 <span class="lineNum" id="container1055"><a name="1055"></a><a href="#1055" id="line1055"> 1055</a> </span> : */
2562 <span class="lineNum" id="container1056"><a name="1056"></a><a href="#1056" id="line1056"> 1056</a> </span> : final protected function sendCmd($cmd)
2563 <span class="lineNum" id="container1057"><a name="1057"></a><a href="#1057" id="line1057"> 1057</a> </span> : {
2564 <span class="lineNum" id="container1058"><a name="1058"></a><a href="#1058" id="line1058"> 1058</a> </span><span class="lineCov"> 1 : return $this-&gt;_getConnection()-&gt;command($cmd); </span>
2565 <span class="lineNum" id="container1059"><a name="1059"></a><a href="#1059" id="line1059"> 1059</a> </span><span class="lineDeadCode"> : } </span>
2566 <span class="lineNum" id="container1060"><a name="1060"></a><a href="#1060" id="line1060"> 1060</a> </span> : // }}}
2567 <span class="lineNum" id="container1061"><a name="1061"></a><a href="#1061" id="line1061"> 1061</a> </span> :
2568 <span class="lineNum" id="container1062"><a name="1062"></a><a href="#1062" id="line1062"> 1062</a> </span> : // ITERATOR {{{
2569 <span class="lineNum" id="container1063"><a name="1063"></a><a href="#1063" id="line1063"> 1063</a> </span> :
2570 <span class="lineNum" id="container1064"><a name="1064"></a><a href="#1064" id="line1064"> 1064</a> </span> : // array getArray() {{{
2571 <span class="lineNum" id="container1065"><a name="1065"></a><a href="#1065" id="line1065"> 1065</a> </span> : /**
2572 <span class="lineNum" id="container1066"><a name="1066"></a><a href="#1066" id="line1066"> 1066</a> </span> : * Return the current document as an array
2573 <span class="lineNum" id="container1067"><a name="1067"></a><a href="#1067" id="line1067"> 1067</a> </span> : * instead of a ActiveMongo object
2574 <span class="lineNum" id="container1068"><a name="1068"></a><a href="#1068" id="line1068"> 1068</a> </span> : *
2575 <span class="lineNum" id="container1069"><a name="1069"></a><a href="#1069" id="line1069"> 1069</a> </span> : * @return Array
2576 <span class="lineNum" id="container1070"><a name="1070"></a><a href="#1070" id="line1070"> 1070</a> </span> : */
2577 <span class="lineNum" id="container1071"><a name="1071"></a><a href="#1071" id="line1071"> 1071</a> </span> : final function getArray()
2578 <span class="lineNum" id="container1072"><a name="1072"></a><a href="#1072" id="line1072"> 1072</a> </span> : {
2579 <span class="lineNum" id="container1073"><a name="1073"></a><a href="#1073" id="line1073"> 1073</a> </span><span class="lineCov"> 2 : return get_document_vars($this); </span>
2580 <span class="lineNum" id="container1074"><a name="1074"></a><a href="#1074" id="line1074"> 1074</a> </span><span class="lineDeadCode"> : } </span>
2581 <span class="lineNum" id="container1075"><a name="1075"></a><a href="#1075" id="line1075"> 1075</a> </span> : // }}}
2582 <span class="lineNum" id="container1076"><a name="1076"></a><a href="#1076" id="line1076"> 1076</a> </span> :
2583 <span class="lineNum" id="container1077"><a name="1077"></a><a href="#1077" id="line1077"> 1077</a> </span> : // void reset() {{{
2584 <span class="lineNum" id="container1078"><a name="1078"></a><a href="#1078" id="line1078"> 1078</a> </span> : /**
2585 <span class="lineNum" id="container1079"><a name="1079"></a><a href="#1079" id="line1079"> 1079</a> </span> : * Reset our Object, delete the current cursor if any, and reset
2586 <span class="lineNum" id="container1080"><a name="1080"></a><a href="#1080" id="line1080"> 1080</a> </span> : * unsets the values.
2587 <span class="lineNum" id="container1081"><a name="1081"></a><a href="#1081" id="line1081"> 1081</a> </span> : *
2588 <span class="lineNum" id="container1082"><a name="1082"></a><a href="#1082" id="line1082"> 1082</a> </span> : * @return void
2589 <span class="lineNum" id="container1083"><a name="1083"></a><a href="#1083" id="line1083"> 1083</a> </span> : */
2590 <span class="lineNum" id="container1084"><a name="1084"></a><a href="#1084" id="line1084"> 1084</a> </span> : final function reset()
2591 <span class="lineNum" id="container1085"><a name="1085"></a><a href="#1085" id="line1085"> 1085</a> </span> : {
2592 <span class="lineNum" id="container1086"><a name="1086"></a><a href="#1086" id="line1086"> 1086</a> </span><span class="lineCov"> 15 : if ($this-&gt;_cloned) { </span>
2593 <span class="lineNum" id="container1087"><a name="1087"></a><a href="#1087" id="line1087"> 1087</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Cloned objects can't be reseted&quot;); </span>
2594 <span class="lineNum" id="container1088"><a name="1088"></a><a href="#1088" id="line1088"> 1088</a> </span><span class="lineDeadCode"> : } </span>
2595 <span class="lineNum" id="container1089"><a name="1089"></a><a href="#1089" id="line1089"> 1089</a> </span><span class="lineCov"> 15 : $this-&gt;_properties = NULL; </span>
2596 <span class="lineNum" id="container1090"><a name="1090"></a><a href="#1090" id="line1090"> 1090</a> </span><span class="lineCov"> 15 : $this-&gt;_cursor = NULL; </span>
2597 <span class="lineNum" id="container1091"><a name="1091"></a><a href="#1091" id="line1091"> 1091</a> </span><span class="lineCov"> 15 : $this-&gt;_cursor_ex = NULL; </span>
2598 <span class="lineNum" id="container1092"><a name="1092"></a><a href="#1092" id="line1092"> 1092</a> </span><span class="lineCov"> 15 : $this-&gt;_query = NULL; </span>
2599 <span class="lineNum" id="container1093"><a name="1093"></a><a href="#1093" id="line1093"> 1093</a> </span><span class="lineCov"> 15 : $this-&gt;_sort = NULL; </span>
2600 <span class="lineNum" id="container1094"><a name="1094"></a><a href="#1094" id="line1094"> 1094</a> </span><span class="lineCov"> 15 : $this-&gt;_limit = 0; </span>
2601 <span class="lineNum" id="container1095"><a name="1095"></a><a href="#1095" id="line1095"> 1095</a> </span><span class="lineCov"> 15 : $this-&gt;_skip = 0; </span>
2602 <span class="lineNum" id="container1096"><a name="1096"></a><a href="#1096" id="line1096"> 1096</a> </span><span class="lineCov"> 15 : $this-&gt;setResult(array()); </span>
2603 <span class="lineNum" id="container1097"><a name="1097"></a><a href="#1097" id="line1097"> 1097</a> </span><span class="lineCov"> 15 : } </span>
2604 <span class="lineNum" id="container1098"><a name="1098"></a><a href="#1098" id="line1098"> 1098</a> </span> : // }}}
2605 <span class="lineNum" id="container1099"><a name="1099"></a><a href="#1099" id="line1099"> 1099</a> </span> :
2606 <span class="lineNum" id="container1100"><a name="1100"></a><a href="#1100" id="line1100"> 1100</a> </span> : // bool valid() {{{
2607 <span class="lineNum" id="container1101"><a name="1101"></a><a href="#1101" id="line1101"> 1101</a> </span> : /**
2608 <span class="lineNum" id="container1102"><a name="1102"></a><a href="#1102" id="line1102"> 1102</a> </span> : * Valid
2609 <span class="lineNum" id="container1103"><a name="1103"></a><a href="#1103" id="line1103"> 1103</a> </span> : *
2610 <span class="lineNum" id="container1104"><a name="1104"></a><a href="#1104" id="line1104"> 1104</a> </span> : * Return if we're on an iteration and if it is still valid
2611 <span class="lineNum" id="container1105"><a name="1105"></a><a href="#1105" id="line1105"> 1105</a> </span> : *
2612 <span class="lineNum" id="container1106"><a name="1106"></a><a href="#1106" id="line1106"> 1106</a> </span> : * @return TRUE
2613 <span class="lineNum" id="container1107"><a name="1107"></a><a href="#1107" id="line1107"> 1107</a> </span> : */
2614 <span class="lineNum" id="container1108"><a name="1108"></a><a href="#1108" id="line1108"> 1108</a> </span> : final function valid()
2615 <span class="lineNum" id="container1109"><a name="1109"></a><a href="#1109" id="line1109"> 1109</a> </span> : {
2616 <span class="lineNum" id="container1110"><a name="1110"></a><a href="#1110" id="line1110"> 1110</a> </span><span class="lineCov"> 18 : $valid = FALSE; </span>
2617 <span class="lineNum" id="container1111"><a name="1111"></a><a href="#1111" id="line1111"> 1111</a> </span><span class="lineCov"> 18 : if (!$this-&gt;_cursor_ex) { </span>
2618 <span class="lineNum" id="container1112"><a name="1112"></a><a href="#1112" id="line1112"> 1112</a> </span><span class="lineCov"> 17 : if (!$this-&gt;_cursor InstanceOf MongoCursor) { </span>
2619 <span class="lineNum" id="container1113"><a name="1113"></a><a href="#1113" id="line1113"> 1113</a> </span><span class="lineCov"> 4 : $this-&gt;doQuery(); </span>
2620 <span class="lineNum" id="container1114"><a name="1114"></a><a href="#1114" id="line1114"> 1114</a> </span><span class="lineCov"> 4 : } </span>
2621 <span class="lineNum" id="container1115"><a name="1115"></a><a href="#1115" id="line1115"> 1115</a> </span><span class="lineCov"> 17 : $valid = $this-&gt;_cursor InstanceOf MongoCursor &amp;&amp; $this-&gt;_cursor-&gt;valid(); </span>
2622 <span class="lineNum" id="container1116"><a name="1116"></a><a href="#1116" id="line1116"> 1116</a> </span><span class="lineCov"> 17 : } else { </span>
2623 <span class="lineNum" id="container1117"><a name="1117"></a><a href="#1117" id="line1117"> 1117</a> </span><span class="lineCov"> 1 : switch ($this-&gt;_cursor_ex) { </span>
2624 <span class="lineNum" id="container1118"><a name="1118"></a><a href="#1118" id="line1118"> 1118</a> </span><span class="lineCov"> 1 : case self::FIND_AND_MODIFY: </span>
2625 <span class="lineNum" id="container1119"><a name="1119"></a><a href="#1119" id="line1119"> 1119</a> </span><span class="lineCov"> 1 : if ($this-&gt;_limit &gt; $this-&gt;_findandmodify_cnt) { </span>
2626 <span class="lineNum" id="container1120"><a name="1120"></a><a href="#1120" id="line1120"> 1120</a> </span><span class="lineCov"> 1 : $this-&gt;_execFindAndModify(); </span>
2627 <span class="lineNum" id="container1121"><a name="1121"></a><a href="#1121" id="line1121"> 1121</a> </span><span class="lineCov"> 1 : $valid = $this-&gt;_cursor_ex_value['ok'] == 1; </span>
2628 <span class="lineNum" id="container1122"><a name="1122"></a><a href="#1122" id="line1122"> 1122</a> </span><span class="lineCov"> 1 : } </span>
2629 <span class="lineNum" id="container1123"><a name="1123"></a><a href="#1123" id="line1123"> 1123</a> </span><span class="lineCov"> 1 : break; </span>
2630 <span class="lineNum" id="container1124"><a name="1124"></a><a href="#1124" id="line1124"> 1124</a> </span><span class="lineNoCov"> 0 : default: </span>
2631 <span class="lineNum" id="container1125"><a name="1125"></a><a href="#1125" id="line1125"> 1125</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;Invalid _cursor_ex value&quot;); </span>
2632 <span class="lineNum" id="container1126"><a name="1126"></a><a href="#1126" id="line1126"> 1126</a> </span><span class="lineCov"> 1 : } </span>
2633 <span class="lineNum" id="container1127"><a name="1127"></a><a href="#1127" id="line1127"> 1127</a> </span> : }
2634 <span class="lineNum" id="container1128"><a name="1128"></a><a href="#1128" id="line1128"> 1128</a> </span> :
2635 <span class="lineNum" id="container1129"><a name="1129"></a><a href="#1129" id="line1129"> 1129</a> </span><span class="lineCov"> 18 : return $valid; </span>
2636 <span class="lineNum" id="container1130"><a name="1130"></a><a href="#1130" id="line1130"> 1130</a> </span><span class="lineDeadCode"> : } </span>
2637 <span class="lineNum" id="container1131"><a name="1131"></a><a href="#1131" id="line1131"> 1131</a> </span> : // }}}
2638 <span class="lineNum" id="container1132"><a name="1132"></a><a href="#1132" id="line1132"> 1132</a> </span> :
2639 <span class="lineNum" id="container1133"><a name="1133"></a><a href="#1133" id="line1133"> 1133</a> </span> : // bool next() {{{
2640 <span class="lineNum" id="container1134"><a name="1134"></a><a href="#1134" id="line1134"> 1134</a> </span> : /**
2641 <span class="lineNum" id="container1135"><a name="1135"></a><a href="#1135" id="line1135"> 1135</a> </span> : * Move to the next document
2642 <span class="lineNum" id="container1136"><a name="1136"></a><a href="#1136" id="line1136"> 1136</a> </span> : *
2643 <span class="lineNum" id="container1137"><a name="1137"></a><a href="#1137" id="line1137"> 1137</a> </span> : * @return bool
2644 <span class="lineNum" id="container1138"><a name="1138"></a><a href="#1138" id="line1138"> 1138</a> </span> : */
2645 <span class="lineNum" id="container1139"><a name="1139"></a><a href="#1139" id="line1139"> 1139</a> </span> : final function next()
2646 <span class="lineNum" id="container1140"><a name="1140"></a><a href="#1140" id="line1140"> 1140</a> </span> : {
2647 <span class="lineNum" id="container1141"><a name="1141"></a><a href="#1141" id="line1141"> 1141</a> </span><span class="lineCov"> 14 : if ($this-&gt;_cloned) { </span>
2648 <span class="lineNum" id="container1142"><a name="1142"></a><a href="#1142" id="line1142"> 1142</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Cloned objects can't iterate&quot;); </span>
2649 <span class="lineNum" id="container1143"><a name="1143"></a><a href="#1143" id="line1143"> 1143</a> </span><span class="lineDeadCode"> : } </span>
2650 <span class="lineNum" id="container1144"><a name="1144"></a><a href="#1144" id="line1144"> 1144</a> </span><span class="lineCov"> 14 : if (!$this-&gt;_cursor_ex) { </span>
2651 <span class="lineNum" id="container1145"><a name="1145"></a><a href="#1145" id="line1145"> 1145</a> </span><span class="lineCov"> 13 : $result = $this-&gt;_cursor-&gt;next(); </span>
2652 <span class="lineNum" id="container1146"><a name="1146"></a><a href="#1146" id="line1146"> 1146</a> </span><span class="lineCov"> 13 : $this-&gt;current(); </span>
2653 <span class="lineNum" id="container1147"><a name="1147"></a><a href="#1147" id="line1147"> 1147</a> </span><span class="lineCov"> 13 : return $result; </span>
2654 <span class="lineNum" id="container1148"><a name="1148"></a><a href="#1148" id="line1148"> 1148</a> </span><span class="lineDeadCode"> : } else { </span>
2655 <span class="lineNum" id="container1149"><a name="1149"></a><a href="#1149" id="line1149"> 1149</a> </span><span class="lineCov"> 1 : switch ($this-&gt;_cursor_ex) { </span>
2656 <span class="lineNum" id="container1150"><a name="1150"></a><a href="#1150" id="line1150"> 1150</a> </span><span class="lineCov"> 1 : case self::FIND_AND_MODIFY: </span>
2657 <span class="lineNum" id="container1151"><a name="1151"></a><a href="#1151" id="line1151"> 1151</a> </span><span class="lineCov"> 1 : $this-&gt;_cursor_ex_value = NULL; </span>
2658 <span class="lineNum" id="container1152"><a name="1152"></a><a href="#1152" id="line1152"> 1152</a> </span><span class="lineCov"> 1 : break; </span>
2659 <span class="lineNum" id="container1153"><a name="1153"></a><a href="#1153" id="line1153"> 1153</a> </span><span class="lineNoCov"> 0 : default: </span>
2660 <span class="lineNum" id="container1154"><a name="1154"></a><a href="#1154" id="line1154"> 1154</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;Invalid _cursor_ex value&quot;); </span>
2661 <span class="lineNum" id="container1155"><a name="1155"></a><a href="#1155" id="line1155"> 1155</a> </span><span class="lineCov"> 1 : } </span>
2662 <span class="lineNum" id="container1156"><a name="1156"></a><a href="#1156" id="line1156"> 1156</a> </span> : }
2663 <span class="lineNum" id="container1157"><a name="1157"></a><a href="#1157" id="line1157"> 1157</a> </span><span class="lineCov"> 1 : } </span>
2664 <span class="lineNum" id="container1158"><a name="1158"></a><a href="#1158" id="line1158"> 1158</a> </span> : // }}}
2665 <span class="lineNum" id="container1159"><a name="1159"></a><a href="#1159" id="line1159"> 1159</a> </span> :
2666 <span class="lineNum" id="container1160"><a name="1160"></a><a href="#1160" id="line1160"> 1160</a> </span> : // this current() {{{
2667 <span class="lineNum" id="container1161"><a name="1161"></a><a href="#1161" id="line1161"> 1161</a> </span> : /**
2668 <span class="lineNum" id="container1162"><a name="1162"></a><a href="#1162" id="line1162"> 1162</a> </span> : * Return the current object, and load the current document
2669 <span class="lineNum" id="container1163"><a name="1163"></a><a href="#1163" id="line1163"> 1163</a> </span> : * as this object property
2670 <span class="lineNum" id="container1164"><a name="1164"></a><a href="#1164" id="line1164"> 1164</a> </span> : *
2671 <span class="lineNum" id="container1165"><a name="1165"></a><a href="#1165" id="line1165"> 1165</a> </span> : * @return object
2672 <span class="lineNum" id="container1166"><a name="1166"></a><a href="#1166" id="line1166"> 1166</a> </span> : */
2673 <span class="lineNum" id="container1167"><a name="1167"></a><a href="#1167" id="line1167"> 1167</a> </span> : final function current()
2674 <span class="lineNum" id="container1168"><a name="1168"></a><a href="#1168" id="line1168"> 1168</a> </span> : {
2675 <span class="lineNum" id="container1169"><a name="1169"></a><a href="#1169" id="line1169"> 1169</a> </span><span class="lineCov"> 14 : if (!$this-&gt;_cursor_ex) { </span>
2676 <span class="lineNum" id="container1170"><a name="1170"></a><a href="#1170" id="line1170"> 1170</a> </span><span class="lineCov"> 13 : $this-&gt;setResult($this-&gt;_cursor-&gt;current()); </span>
2677 <span class="lineNum" id="container1171"><a name="1171"></a><a href="#1171" id="line1171"> 1171</a> </span><span class="lineCov"> 13 : } else { </span>
2678 <span class="lineNum" id="container1172"><a name="1172"></a><a href="#1172" id="line1172"> 1172</a> </span><span class="lineCov"> 1 : switch ($this-&gt;_cursor_ex) { </span>
2679 <span class="lineNum" id="container1173"><a name="1173"></a><a href="#1173" id="line1173"> 1173</a> </span><span class="lineCov"> 1 : case self::FIND_AND_MODIFY: </span>
2680 <span class="lineNum" id="container1174"><a name="1174"></a><a href="#1174" id="line1174"> 1174</a> </span><span class="lineCov"> 1 : if (count($this-&gt;_cursor_ex_value) == 0) { </span>
2681 <span class="lineNum" id="container1175"><a name="1175"></a><a href="#1175" id="line1175"> 1175</a> </span><span class="lineNoCov"> 0 : $this-&gt;_execFindAndModify(); </span>
2682 <span class="lineNum" id="container1176"><a name="1176"></a><a href="#1176" id="line1176"> 1176</a> </span><span class="lineNoCov"> 0 : } </span>
2683 <span class="lineNum" id="container1177"><a name="1177"></a><a href="#1177" id="line1177"> 1177</a> </span><span class="lineCov"> 1 : $this-&gt;setResult($this-&gt;_cursor_ex_value['value']); </span>
2684 <span class="lineNum" id="container1178"><a name="1178"></a><a href="#1178" id="line1178"> 1178</a> </span><span class="lineCov"> 1 : break; </span>
2685 <span class="lineNum" id="container1179"><a name="1179"></a><a href="#1179" id="line1179"> 1179</a> </span><span class="lineNoCov"> 0 : default: </span>
2686 <span class="lineNum" id="container1180"><a name="1180"></a><a href="#1180" id="line1180"> 1180</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;Invalid _cursor_ex value&quot;); </span>
2687 <span class="lineNum" id="container1181"><a name="1181"></a><a href="#1181" id="line1181"> 1181</a> </span><span class="lineCov"> 1 : } </span>
2688 <span class="lineNum" id="container1182"><a name="1182"></a><a href="#1182" id="line1182"> 1182</a> </span> : }
2689 <span class="lineNum" id="container1183"><a name="1183"></a><a href="#1183" id="line1183"> 1183</a> </span><span class="lineCov"> 14 : return $this; </span>
2690 <span class="lineNum" id="container1184"><a name="1184"></a><a href="#1184" id="line1184"> 1184</a> </span><span class="lineDeadCode"> : } </span>
2691 <span class="lineNum" id="container1185"><a name="1185"></a><a href="#1185" id="line1185"> 1185</a> </span> : // }}}
2692 <span class="lineNum" id="container1186"><a name="1186"></a><a href="#1186" id="line1186"> 1186</a> </span> :
2693 <span class="lineNum" id="container1187"><a name="1187"></a><a href="#1187" id="line1187"> 1187</a> </span> : // bool rewind() {{{
2694 <span class="lineNum" id="container1188"><a name="1188"></a><a href="#1188" id="line1188"> 1188</a> </span> : /**
2695 <span class="lineNum" id="container1189"><a name="1189"></a><a href="#1189" id="line1189"> 1189</a> </span> : * Go to the first document
2696 <span class="lineNum" id="container1190"><a name="1190"></a><a href="#1190" id="line1190"> 1190</a> </span> : */
2697 <span class="lineNum" id="container1191"><a name="1191"></a><a href="#1191" id="line1191"> 1191</a> </span> : final function rewind()
2698 <span class="lineNum" id="container1192"><a name="1192"></a><a href="#1192" id="line1192"> 1192</a> </span> : {
2699 <span class="lineNum" id="container1193"><a name="1193"></a><a href="#1193" id="line1193"> 1193</a> </span><span class="lineCov"> 13 : if ($this-&gt;_cloned) { </span>
2700 <span class="lineNum" id="container1194"><a name="1194"></a><a href="#1194" id="line1194"> 1194</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Cloned objects can't iterate&quot;); </span>
2701 <span class="lineNum" id="container1195"><a name="1195"></a><a href="#1195" id="line1195"> 1195</a> </span><span class="lineDeadCode"> : } </span>
2702 <span class="lineNum" id="container1196"><a name="1196"></a><a href="#1196" id="line1196"> 1196</a> </span><span class="lineCov"> 13 : if (!$this-&gt;_cursor_ex) { </span>
2703 <span class="lineNum" id="container1197"><a name="1197"></a><a href="#1197" id="line1197"> 1197</a> </span> : /* rely on MongoDB cursor */
2704 <span class="lineNum" id="container1198"><a name="1198"></a><a href="#1198" id="line1198"> 1198</a> </span><span class="lineCov"> 12 : if (!$this-&gt;_cursor InstanceOf MongoCursor) { </span>
2705 <span class="lineNum" id="container1199"><a name="1199"></a><a href="#1199" id="line1199"> 1199</a> </span><span class="lineCov"> 7 : $this-&gt;doQuery(); </span>
2706 <span class="lineNum" id="container1200"><a name="1200"></a><a href="#1200" id="line1200"> 1200</a> </span><span class="lineCov"> 7 : } </span>
2707 <span class="lineNum" id="container1201"><a name="1201"></a><a href="#1201" id="line1201"> 1201</a> </span><span class="lineCov"> 12 : $result = $this-&gt;_cursor-&gt;rewind(); </span>
2708 <span class="lineNum" id="container1202"><a name="1202"></a><a href="#1202" id="line1202"> 1202</a> </span><span class="lineCov"> 12 : $this-&gt;current(); </span>
2709 <span class="lineNum" id="container1203"><a name="1203"></a><a href="#1203" id="line1203"> 1203</a> </span><span class="lineCov"> 12 : return $result; </span>
2710 <span class="lineNum" id="container1204"><a name="1204"></a><a href="#1204" id="line1204"> 1204</a> </span><span class="lineDeadCode"> : } else { </span>
2711 <span class="lineNum" id="container1205"><a name="1205"></a><a href="#1205" id="line1205"> 1205</a> </span><span class="lineCov"> 1 : switch ($this-&gt;_cursor_ex) { </span>
2712 <span class="lineNum" id="container1206"><a name="1206"></a><a href="#1206" id="line1206"> 1206</a> </span><span class="lineCov"> 1 : case self::FIND_AND_MODIFY: </span>
2713 <span class="lineNum" id="container1207"><a name="1207"></a><a href="#1207" id="line1207"> 1207</a> </span><span class="lineCov"> 1 : $this-&gt;_findandmodify_cnt = 0; </span>
2714 <span class="lineNum" id="container1208"><a name="1208"></a><a href="#1208" id="line1208"> 1208</a> </span><span class="lineCov"> 1 : break; </span>
2715 <span class="lineNum" id="container1209"><a name="1209"></a><a href="#1209" id="line1209"> 1209</a> </span><span class="lineNoCov"> 0 : default: </span>
2716 <span class="lineNum" id="container1210"><a name="1210"></a><a href="#1210" id="line1210"> 1210</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;Invalid _cursor_ex value&quot;); </span>
2717 <span class="lineNum" id="container1211"><a name="1211"></a><a href="#1211" id="line1211"> 1211</a> </span><span class="lineCov"> 1 : } </span>
2718 <span class="lineNum" id="container1212"><a name="1212"></a><a href="#1212" id="line1212"> 1212</a> </span> : }
2719 <span class="lineNum" id="container1213"><a name="1213"></a><a href="#1213" id="line1213"> 1213</a> </span><span class="lineCov"> 1 : } </span>
2720 <span class="lineNum" id="container1214"><a name="1214"></a><a href="#1214" id="line1214"> 1214</a> </span> : // }}}
2721 <span class="lineNum" id="container1215"><a name="1215"></a><a href="#1215" id="line1215"> 1215</a> </span> :
2722 <span class="lineNum" id="container1216"><a name="1216"></a><a href="#1216" id="line1216"> 1216</a> </span> : // }}}
2723 <span class="lineNum" id="container1217"><a name="1217"></a><a href="#1217" id="line1217"> 1217</a> </span> :
2724 <span class="lineNum" id="container1218"><a name="1218"></a><a href="#1218" id="line1218"> 1218</a> </span> : // ARRAY ACCESS {{{
2725 <span class="lineNum" id="container1219"><a name="1219"></a><a href="#1219" id="line1219"> 1219</a> </span> : final function offsetExists($offset)
2726 <span class="lineNum" id="container1220"><a name="1220"></a><a href="#1220" id="line1220"> 1220</a> </span> : {
2727 <span class="lineNum" id="container1221"><a name="1221"></a><a href="#1221" id="line1221"> 1221</a> </span><span class="lineCov"> 4 : return isset($this-&gt;$offset); </span>
2728 <span class="lineNum" id="container1222"><a name="1222"></a><a href="#1222" id="line1222"> 1222</a> </span><span class="lineDeadCode"> : } </span>
2729 <span class="lineNum" id="container1223"><a name="1223"></a><a href="#1223" id="line1223"> 1223</a> </span> :
2730 <span class="lineNum" id="container1224"><a name="1224"></a><a href="#1224" id="line1224"> 1224</a> </span> : final function offsetGet($offset)
2731 <span class="lineNum" id="container1225"><a name="1225"></a><a href="#1225" id="line1225"> 1225</a> </span> : {
2732 <span class="lineNum" id="container1226"><a name="1226"></a><a href="#1226" id="line1226"> 1226</a> </span><span class="lineCov"> 5 : return $this-&gt;$offset; </span>
2733 <span class="lineNum" id="container1227"><a name="1227"></a><a href="#1227" id="line1227"> 1227</a> </span><span class="lineDeadCode"> : } </span>
2734 <span class="lineNum" id="container1228"><a name="1228"></a><a href="#1228" id="line1228"> 1228</a> </span> :
2735 <span class="lineNum" id="container1229"><a name="1229"></a><a href="#1229" id="line1229"> 1229</a> </span> : final function offsetSet($offset, $value)
2736 <span class="lineNum" id="container1230"><a name="1230"></a><a href="#1230" id="line1230"> 1230</a> </span> : {
2737 <span class="lineNum" id="container1231"><a name="1231"></a><a href="#1231" id="line1231"> 1231</a> </span><span class="lineCov"> 3 : $this-&gt;$offset = $value; </span>
2738 <span class="lineNum" id="container1232"><a name="1232"></a><a href="#1232" id="line1232"> 1232</a> </span><span class="lineCov"> 3 : } </span>
2739 <span class="lineNum" id="container1233"><a name="1233"></a><a href="#1233" id="line1233"> 1233</a> </span> :
2740 <span class="lineNum" id="container1234"><a name="1234"></a><a href="#1234" id="line1234"> 1234</a> </span> : final function offsetUnset($offset)
2741 <span class="lineNum" id="container1235"><a name="1235"></a><a href="#1235" id="line1235"> 1235</a> </span> : {
2742 <span class="lineNum" id="container1236"><a name="1236"></a><a href="#1236" id="line1236"> 1236</a> </span><span class="lineCov"> 1 : unset($this-&gt;$offset); </span>
2743 <span class="lineNum" id="container1237"><a name="1237"></a><a href="#1237" id="line1237"> 1237</a> </span><span class="lineCov"> 1 : } </span>
2744 <span class="lineNum" id="container1238"><a name="1238"></a><a href="#1238" id="line1238"> 1238</a> </span> : // }}}
2745 <span class="lineNum" id="container1239"><a name="1239"></a><a href="#1239" id="line1239"> 1239</a> </span> :
2746 <span class="lineNum" id="container1240"><a name="1240"></a><a href="#1240" id="line1240"> 1240</a> </span> : // REFERENCES {{{
2747 <span class="lineNum" id="container1241"><a name="1241"></a><a href="#1241" id="line1241"> 1241</a> </span> :
2748 <span class="lineNum" id="container1242"><a name="1242"></a><a href="#1242" id="line1242"> 1242</a> </span> : // array getReference() {{{
2749 <span class="lineNum" id="container1243"><a name="1243"></a><a href="#1243" id="line1243"> 1243</a> </span> : /**
2750 <span class="lineNum" id="container1244"><a name="1244"></a><a href="#1244" id="line1244"> 1244</a> </span> : * ActiveMongo extended the Mongo references, adding
2751 <span class="lineNum" id="container1245"><a name="1245"></a><a href="#1245" id="line1245"> 1245</a> </span> : * the concept of 'dynamic' requests, saving in the database
2752 <span class="lineNum" id="container1246"><a name="1246"></a><a href="#1246" id="line1246"> 1246</a> </span> : * the current query with its options (sort, limit, etc).
2753 <span class="lineNum" id="container1247"><a name="1247"></a><a href="#1247" id="line1247"> 1247</a> </span> : *
2754 <span class="lineNum" id="container1248"><a name="1248"></a><a href="#1248" id="line1248"> 1248</a> </span> : * This is useful to associate a document with a given
2755 <span class="lineNum" id="container1249"><a name="1249"></a><a href="#1249" id="line1249"> 1249</a> </span> : * request. To undestand this better please see the 'reference'
2756 <span class="lineNum" id="container1250"><a name="1250"></a><a href="#1250" id="line1250"> 1250</a> </span> : * example.
2757 <span class="lineNum" id="container1251"><a name="1251"></a><a href="#1251" id="line1251"> 1251</a> </span> : *
2758 <span class="lineNum" id="container1252"><a name="1252"></a><a href="#1252" id="line1252"> 1252</a> </span> : * @return array
2759 <span class="lineNum" id="container1253"><a name="1253"></a><a href="#1253" id="line1253"> 1253</a> </span> : */
2760 <span class="lineNum" id="container1254"><a name="1254"></a><a href="#1254" id="line1254"> 1254</a> </span> : final function getReference($dynamic=FALSE)
2761 <span class="lineNum" id="container1255"><a name="1255"></a><a href="#1255" id="line1255"> 1255</a> </span> : {
2762 <span class="lineNum" id="container1256"><a name="1256"></a><a href="#1256" id="line1256"> 1256</a> </span><span class="lineCov"> 6 : if (!$this-&gt;getID() &amp;&amp; !$dynamic) { </span>
2763 <span class="lineNum" id="container1257"><a name="1257"></a><a href="#1257" id="line1257"> 1257</a> </span><span class="lineCov"> 1 : return NULL; </span>
2764 <span class="lineNum" id="container1258"><a name="1258"></a><a href="#1258" id="line1258"> 1258</a> </span><span class="lineDeadCode"> : } </span>
2765 <span class="lineNum" id="container1259"><a name="1259"></a><a href="#1259" id="line1259"> 1259</a> </span> :
2766 <span class="lineNum" id="container1260"><a name="1260"></a><a href="#1260" id="line1260"> 1260</a> </span> : $document = array(
2767 <span class="lineNum" id="container1261"><a name="1261"></a><a href="#1261" id="line1261"> 1261</a> </span><span class="lineCov"> 5 : '$ref' =&gt; $this-&gt;CollectionName(), </span>
2768 <span class="lineNum" id="container1262"><a name="1262"></a><a href="#1262" id="line1262"> 1262</a> </span><span class="lineCov"> 5 : '$id' =&gt; $this-&gt;getID(), </span>
2769 <span class="lineNum" id="container1263"><a name="1263"></a><a href="#1263" id="line1263"> 1263</a> </span><span class="lineCov"> 5 : '$db' =&gt; $this-&gt;getDatabaseName(), </span>
2770 <span class="lineNum" id="container1264"><a name="1264"></a><a href="#1264" id="line1264"> 1264</a> </span><span class="lineCov"> 5 : 'class' =&gt; get_class($this), </span>
2771 <span class="lineNum" id="container1265"><a name="1265"></a><a href="#1265" id="line1265"> 1265</a> </span><span class="lineCov"> 5 : ); </span>
2772 <span class="lineNum" id="container1266"><a name="1266"></a><a href="#1266" id="line1266"> 1266</a> </span> :
2773 <span class="lineNum" id="container1267"><a name="1267"></a><a href="#1267" id="line1267"> 1267</a> </span><span class="lineCov"> 5 : if ($dynamic) { </span>
2774 <span class="lineNum" id="container1268"><a name="1268"></a><a href="#1268" id="line1268"> 1268</a> </span><span class="lineCov"> 4 : if (!$this-&gt;_cursor InstanceOf MongoCursor &amp;&amp; $this-&gt;_cursor_ex === NULL) { </span>
2775 <span class="lineNum" id="container1269"><a name="1269"></a><a href="#1269" id="line1269"> 1269</a> </span><span class="lineCov"> 1 : $this-&gt;doQuery(); </span>
2776 <span class="lineNum" id="container1270"><a name="1270"></a><a href="#1270" id="line1270"> 1270</a> </span><span class="lineCov"> 1 : } </span>
2777 <span class="lineNum" id="container1271"><a name="1271"></a><a href="#1271" id="line1271"> 1271</a> </span> :
2778 <span class="lineNum" id="container1272"><a name="1272"></a><a href="#1272" id="line1272"> 1272</a> </span><span class="lineCov"> 4 : if (!$this-&gt;_cursor InstanceOf MongoCursor) { </span>
2779 <span class="lineNum" id="container1273"><a name="1273"></a><a href="#1273" id="line1273"> 1273</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Only MongoDB native cursor could have dynamic references&quot;); </span>
2780 <span class="lineNum" id="container1274"><a name="1274"></a><a href="#1274" id="line1274"> 1274</a> </span><span class="lineDeadCode"> : } </span>
2781 <span class="lineNum" id="container1275"><a name="1275"></a><a href="#1275" id="line1275"> 1275</a> </span> :
2782 <span class="lineNum" id="container1276"><a name="1276"></a><a href="#1276" id="line1276"> 1276</a> </span><span class="lineCov"> 3 : $cursor = $this-&gt;_cursor; </span>
2783 <span class="lineNum" id="container1277"><a name="1277"></a><a href="#1277" id="line1277"> 1277</a> </span><span class="lineCov"> 3 : if (!is_callable(array($cursor, &quot;Info&quot;))) { </span>
2784 <span class="lineNum" id="container1278"><a name="1278"></a><a href="#1278" id="line1278"> 1278</a> </span><span class="lineNoCov"> 0 : throw new Exception(&quot;Please upgrade your PECL/Mongo module to use this feature&quot;); </span>
2785 <span class="lineNum" id="container1279"><a name="1279"></a><a href="#1279" id="line1279"> 1279</a> </span><span class="lineDeadCode"> : } </span>
2786 <span class="lineNum" id="container1280"><a name="1280"></a><a href="#1280" id="line1280"> 1280</a> </span><span class="lineCov"> 3 : $document['dynamic'] = array(); </span>
2787 <span class="lineNum" id="container1281"><a name="1281"></a><a href="#1281" id="line1281"> 1281</a> </span><span class="lineCov"> 3 : $query = $cursor-&gt;Info(); </span>
2788 <span class="lineNum" id="container1282"><a name="1282"></a><a href="#1282" id="line1282"> 1282</a> </span><span class="lineCov"> 3 : foreach ($query as $type =&gt; $value) { </span>
2789 <span class="lineNum" id="container1283"><a name="1283"></a><a href="#1283" id="line1283"> 1283</a> </span><span class="lineCov"> 3 : $document['dynamic'][$type] = $value; </span>
2790 <span class="lineNum" id="container1284"><a name="1284"></a><a href="#1284" id="line1284"> 1284</a> </span><span class="lineCov"> 3 : } </span>
2791 <span class="lineNum" id="container1285"><a name="1285"></a><a href="#1285" id="line1285"> 1285</a> </span><span class="lineCov"> 3 : } </span>
2792 <span class="lineNum" id="container1286"><a name="1286"></a><a href="#1286" id="line1286"> 1286</a> </span><span class="lineCov"> 4 : return $document; </span>
2793 <span class="lineNum" id="container1287"><a name="1287"></a><a href="#1287" id="line1287"> 1287</a> </span><span class="lineDeadCode"> : } </span>
2794 <span class="lineNum" id="container1288"><a name="1288"></a><a href="#1288" id="line1288"> 1288</a> </span> : // }}}
2795 <span class="lineNum" id="container1289"><a name="1289"></a><a href="#1289" id="line1289"> 1289</a> </span> :
2796 <span class="lineNum" id="container1290"><a name="1290"></a><a href="#1290" id="line1290"> 1290</a> </span> : // void getDocumentReferences($document, &amp;$refs) {{{
2797 <span class="lineNum" id="container1291"><a name="1291"></a><a href="#1291" id="line1291"> 1291</a> </span> : /**
2798 <span class="lineNum" id="container1292"><a name="1292"></a><a href="#1292" id="line1292"> 1292</a> </span> : * Get Current References
2799 <span class="lineNum" id="container1293"><a name="1293"></a><a href="#1293" id="line1293"> 1293</a> </span> : *
2800 <span class="lineNum" id="container1294"><a name="1294"></a><a href="#1294" id="line1294"> 1294</a> </span> : * Inspect the current document trying to get any references,
2801 <span class="lineNum" id="container1295"><a name="1295"></a><a href="#1295" id="line1295"> 1295</a> </span> : * if any.
2802 <span class="lineNum" id="container1296"><a name="1296"></a><a href="#1296" id="line1296"> 1296</a> </span> : *
2803 <span class="lineNum" id="container1297"><a name="1297"></a><a href="#1297" id="line1297"> 1297</a> </span> : * @param array $document Current document
2804 <span class="lineNum" id="container1298"><a name="1298"></a><a href="#1298" id="line1298"> 1298</a> </span> : * @param array &amp;$refs References found in the document.
2805 <span class="lineNum" id="container1299"><a name="1299"></a><a href="#1299" id="line1299"> 1299</a> </span> : * @param array $parent_key Parent key
2806 <span class="lineNum" id="container1300"><a name="1300"></a><a href="#1300" id="line1300"> 1300</a> </span> : *
2807 <span class="lineNum" id="container1301"><a name="1301"></a><a href="#1301" id="line1301"> 1301</a> </span> : * @return void
2808 <span class="lineNum" id="container1302"><a name="1302"></a><a href="#1302" id="line1302"> 1302</a> </span> : */
2809 <span class="lineNum" id="container1303"><a name="1303"></a><a href="#1303" id="line1303"> 1303</a> </span> : final protected function getDocumentReferences($document, &amp;$refs, $parent_key=NULL)
2810 <span class="lineNum" id="container1304"><a name="1304"></a><a href="#1304" id="line1304"> 1304</a> </span> : {
2811 <span class="lineNum" id="container1305"><a name="1305"></a><a href="#1305" id="line1305"> 1305</a> </span><span class="lineCov"> 2 : foreach ($document as $key =&gt; $value) { </span>
2812 <span class="lineNum" id="container1306"><a name="1306"></a><a href="#1306" id="line1306"> 1306</a> </span><span class="lineCov"> 2 : if (is_array($value)) { </span>
2813 <span class="lineNum" id="container1307"><a name="1307"></a><a href="#1307" id="line1307"> 1307</a> </span><span class="lineCov"> 2 : if (MongoDBRef::isRef($value)) { </span>
2814 <span class="lineNum" id="container1308"><a name="1308"></a><a href="#1308" id="line1308"> 1308</a> </span><span class="lineCov"> 2 : $pkey = $parent_key; </span>
2815 <span class="lineNum" id="container1309"><a name="1309"></a><a href="#1309" id="line1309"> 1309</a> </span><span class="lineCov"> 2 : $pkey[] = $key; </span>
2816 <span class="lineNum" id="container1310"><a name="1310"></a><a href="#1310" id="line1310"> 1310</a> </span><span class="lineCov"> 2 : $refs[] = array('ref' =&gt; $value, 'key' =&gt; $pkey); </span>
2817 <span class="lineNum" id="container1311"><a name="1311"></a><a href="#1311" id="line1311"> 1311</a> </span><span class="lineCov"> 2 : } else { </span>
2818 <span class="lineNum" id="container1312"><a name="1312"></a><a href="#1312" id="line1312"> 1312</a> </span><span class="lineCov"> 1 : $parent_key1 = $parent_key; </span>
2819 <span class="lineNum" id="container1313"><a name="1313"></a><a href="#1313" id="line1313"> 1313</a> </span><span class="lineCov"> 1 : $parent_key1[] = $key; </span>
2820 <span class="lineNum" id="container1314"><a name="1314"></a><a href="#1314" id="line1314"> 1314</a> </span><span class="lineCov"> 1 : $this-&gt;getDocumentReferences($value, $refs, $parent_key1); </span>
2821 <span class="lineNum" id="container1315"><a name="1315"></a><a href="#1315" id="line1315"> 1315</a> </span> : }
2822 <span class="lineNum" id="container1316"><a name="1316"></a><a href="#1316" id="line1316"> 1316</a> </span><span class="lineCov"> 2 : } </span>
2823 <span class="lineNum" id="container1317"><a name="1317"></a><a href="#1317" id="line1317"> 1317</a> </span><span class="lineCov"> 2 : } </span>
2824 <span class="lineNum" id="container1318"><a name="1318"></a><a href="#1318" id="line1318"> 1318</a> </span><span class="lineCov"> 2 : } </span>
2825 <span class="lineNum" id="container1319"><a name="1319"></a><a href="#1319" id="line1319"> 1319</a> </span> : // }}}
2826 <span class="lineNum" id="container1320"><a name="1320"></a><a href="#1320" id="line1320"> 1320</a> </span> :
2827 <span class="lineNum" id="container1321"><a name="1321"></a><a href="#1321" id="line1321"> 1321</a> </span> : // object _deferencingCreateObject(string $class) {{{
2828 <span class="lineNum" id="container1322"><a name="1322"></a><a href="#1322" id="line1322"> 1322</a> </span> : /**
2829 <span class="lineNum" id="container1323"><a name="1323"></a><a href="#1323" id="line1323"> 1323</a> </span> : * Called at deferencig time
2830 <span class="lineNum" id="container1324"><a name="1324"></a><a href="#1324" id="line1324"> 1324</a> </span> : *
2831 <span class="lineNum" id="container1325"><a name="1325"></a><a href="#1325" id="line1325"> 1325</a> </span> : * Check if the given string is a class, and it is a sub class
2832 <span class="lineNum" id="container1326"><a name="1326"></a><a href="#1326" id="line1326"> 1326</a> </span> : * of ActiveMongo, if it is instance and return the object.
2833 <span class="lineNum" id="container1327"><a name="1327"></a><a href="#1327" id="line1327"> 1327</a> </span> : *
2834 <span class="lineNum" id="container1328"><a name="1328"></a><a href="#1328" id="line1328"> 1328</a> </span> : * @param string $class
2835 <span class="lineNum" id="container1329"><a name="1329"></a><a href="#1329" id="line1329"> 1329</a> </span> : *
2836 <span class="lineNum" id="container1330"><a name="1330"></a><a href="#1330" id="line1330"> 1330</a> </span> : * @return object
2837 <span class="lineNum" id="container1331"><a name="1331"></a><a href="#1331" id="line1331"> 1331</a> </span> : */
2838 <span class="lineNum" id="container1332"><a name="1332"></a><a href="#1332" id="line1332"> 1332</a> </span> : private function _deferencingCreateObject($class)
2839 <span class="lineNum" id="container1333"><a name="1333"></a><a href="#1333" id="line1333"> 1333</a> </span> : {
2840 <span class="lineNum" id="container1334"><a name="1334"></a><a href="#1334" id="line1334"> 1334</a> </span><span class="lineCov"> 2 : if (!is_subclass_of($class, __CLASS__)) { </span>
2841 <span class="lineNum" id="container1335"><a name="1335"></a><a href="#1335" id="line1335"> 1335</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;Fatal Error, imposible to create ActiveMongo object of {$class}&quot;); </span>
2842 <span class="lineNum" id="container1336"><a name="1336"></a><a href="#1336" id="line1336"> 1336</a> </span><span class="lineDeadCode"> : } </span>
2843 <span class="lineNum" id="container1337"><a name="1337"></a><a href="#1337" id="line1337"> 1337</a> </span><span class="lineCov"> 2 : return new $class; </span>
2844 <span class="lineNum" id="container1338"><a name="1338"></a><a href="#1338" id="line1338"> 1338</a> </span><span class="lineDeadCode"> : } </span>
2845 <span class="lineNum" id="container1339"><a name="1339"></a><a href="#1339" id="line1339"> 1339</a> </span> : // }}}
2846 <span class="lineNum" id="container1340"><a name="1340"></a><a href="#1340" id="line1340"> 1340</a> </span> :
2847 <span class="lineNum" id="container1341"><a name="1341"></a><a href="#1341" id="line1341"> 1341</a> </span> : // void _deferencingRestoreProperty(array &amp;$document, array $keys, mixed $req) {{{
2848 <span class="lineNum" id="container1342"><a name="1342"></a><a href="#1342" id="line1342"> 1342</a> </span> : /**
2849 <span class="lineNum" id="container1343"><a name="1343"></a><a href="#1343" id="line1343"> 1343</a> </span> : * Called at deferencig time
2850 <span class="lineNum" id="container1344"><a name="1344"></a><a href="#1344" id="line1344"> 1344</a> </span> : *
2851 <span class="lineNum" id="container1345"><a name="1345"></a><a href="#1345" id="line1345"> 1345</a> </span> : * This method iterates $document until it could match $keys path, and
2852 <span class="lineNum" id="container1346"><a name="1346"></a><a href="#1346" id="line1346"> 1346</a> </span> : * replace its value by $req.
2853 <span class="lineNum" id="container1347"><a name="1347"></a><a href="#1347" id="line1347"> 1347</a> </span> : *
2854 <span class="lineNum" id="container1348"><a name="1348"></a><a href="#1348" id="line1348"> 1348</a> </span> : * @param array &amp;$document Document to replace
2855 <span class="lineNum" id="container1349"><a name="1349"></a><a href="#1349" id="line1349"> 1349</a> </span> : * @param array $keys Path of property to change
2856 <span class="lineNum" id="container1350"><a name="1350"></a><a href="#1350" id="line1350"> 1350</a> </span> : * @param mixed $req Value to replace.
2857 <span class="lineNum" id="container1351"><a name="1351"></a><a href="#1351" id="line1351"> 1351</a> </span> : *
2858 <span class="lineNum" id="container1352"><a name="1352"></a><a href="#1352" id="line1352"> 1352</a> </span> : * @return void
2859 <span class="lineNum" id="container1353"><a name="1353"></a><a href="#1353" id="line1353"> 1353</a> </span> : */
2860 <span class="lineNum" id="container1354"><a name="1354"></a><a href="#1354" id="line1354"> 1354</a> </span> : private function _deferencingRestoreProperty(&amp;$document, $keys, $req)
2861 <span class="lineNum" id="container1355"><a name="1355"></a><a href="#1355" id="line1355"> 1355</a> </span> : {
2862 <span class="lineNum" id="container1356"><a name="1356"></a><a href="#1356" id="line1356"> 1356</a> </span><span class="lineCov"> 2 : $obj = &amp; $document; </span>
2863 <span class="lineNum" id="container1357"><a name="1357"></a><a href="#1357" id="line1357"> 1357</a> </span> :
2864 <span class="lineNum" id="container1358"><a name="1358"></a><a href="#1358" id="line1358"> 1358</a> </span> : /* find the $req proper spot */
2865 <span class="lineNum" id="container1359"><a name="1359"></a><a href="#1359" id="line1359"> 1359</a> </span><span class="lineCov"> 2 : foreach ($keys as $key) { </span>
2866 <span class="lineNum" id="container1360"><a name="1360"></a><a href="#1360" id="line1360"> 1360</a> </span><span class="lineCov"> 2 : $obj = &amp; $obj[$key]; </span>
2867 <span class="lineNum" id="container1361"><a name="1361"></a><a href="#1361" id="line1361"> 1361</a> </span><span class="lineCov"> 2 : } </span>
2868 <span class="lineNum" id="container1362"><a name="1362"></a><a href="#1362" id="line1362"> 1362</a> </span> :
2869 <span class="lineNum" id="container1363"><a name="1363"></a><a href="#1363" id="line1363"> 1363</a> </span><span class="lineCov"> 2 : $obj = $req; </span>
2870 <span class="lineNum" id="container1364"><a name="1364"></a><a href="#1364" id="line1364"> 1364</a> </span> :
2871 <span class="lineNum" id="container1365"><a name="1365"></a><a href="#1365" id="line1365"> 1365</a> </span> : /* Delete reference variable */
2872 <span class="lineNum" id="container1366"><a name="1366"></a><a href="#1366" id="line1366"> 1366</a> </span><span class="lineCov"> 2 : unset($obj); </span>
2873 <span class="lineNum" id="container1367"><a name="1367"></a><a href="#1367" id="line1367"> 1367</a> </span><span class="lineCov"> 2 : } </span>
2874 <span class="lineNum" id="container1368"><a name="1368"></a><a href="#1368" id="line1368"> 1368</a> </span> : // }}}
2875 <span class="lineNum" id="container1369"><a name="1369"></a><a href="#1369" id="line1369"> 1369</a> </span> :
2876 <span class="lineNum" id="container1370"><a name="1370"></a><a href="#1370" id="line1370"> 1370</a> </span> : // object _deferencingQuery($request) {{{
2877 <span class="lineNum" id="container1371"><a name="1371"></a><a href="#1371" id="line1371"> 1371</a> </span> : /**
2878 <span class="lineNum" id="container1372"><a name="1372"></a><a href="#1372" id="line1372"> 1372</a> </span> : * Called at deferencig time
2879 <span class="lineNum" id="container1373"><a name="1373"></a><a href="#1373" id="line1373"> 1373</a> </span> : *
2880 <span class="lineNum" id="container1374"><a name="1374"></a><a href="#1374" id="line1374"> 1374</a> </span> : * This method takes a dynamic reference and request
2881 <span class="lineNum" id="container1375"><a name="1375"></a><a href="#1375" id="line1375"> 1375</a> </span> : * it to MongoDB.
2882 <span class="lineNum" id="container1376"><a name="1376"></a><a href="#1376" id="line1376"> 1376</a> </span> : *
2883 <span class="lineNum" id="container1377"><a name="1377"></a><a href="#1377" id="line1377"> 1377</a> </span> : * @param array $request Dynamic reference
2884 <span class="lineNum" id="container1378"><a name="1378"></a><a href="#1378" id="line1378"> 1378</a> </span> : *
2885 <span class="lineNum" id="container1379"><a name="1379"></a><a href="#1379" id="line1379"> 1379</a> </span> : * @return this
2886 <span class="lineNum" id="container1380"><a name="1380"></a><a href="#1380" id="line1380"> 1380</a> </span> : */
2887 <span class="lineNum" id="container1381"><a name="1381"></a><a href="#1381" id="line1381"> 1381</a> </span> : private function _deferencingQuery($request)
2888 <span class="lineNum" id="container1382"><a name="1382"></a><a href="#1382" id="line1382"> 1382</a> </span> : {
2889 <span class="lineNum" id="container1383"><a name="1383"></a><a href="#1383" id="line1383"> 1383</a> </span><span class="lineCov"> 1 : $collection = $this-&gt;_getCollection(); </span>
2890 <span class="lineNum" id="container1384"><a name="1384"></a><a href="#1384" id="line1384"> 1384</a> </span><span class="lineCov"> 1 : $cursor = $collection-&gt;find($request['query'], $request['fields']); </span>
2891 <span class="lineNum" id="container1385"><a name="1385"></a><a href="#1385" id="line1385"> 1385</a> </span><span class="lineCov"> 1 : if ($request['limit'] &gt; 0) { </span>
2892 <span class="lineNum" id="container1386"><a name="1386"></a><a href="#1386" id="line1386"> 1386</a> </span><span class="lineCov"> 1 : $cursor-&gt;limit($request['limit']); </span>
2893 <span class="lineNum" id="container1387"><a name="1387"></a><a href="#1387" id="line1387"> 1387</a> </span><span class="lineCov"> 1 : } </span>
2894 <span class="lineNum" id="container1388"><a name="1388"></a><a href="#1388" id="line1388"> 1388</a> </span><span class="lineCov"> 1 : if ($request['skip'] &gt; 0) { </span>
2895 <span class="lineNum" id="container1389"><a name="1389"></a><a href="#1389" id="line1389"> 1389</a> </span><span class="lineCov"> 1 : $cursor-&gt;skip($request['skip']); </span>
2896 <span class="lineNum" id="container1390"><a name="1390"></a><a href="#1390" id="line1390"> 1390</a> </span><span class="lineCov"> 1 : } </span>
2897 <span class="lineNum" id="container1391"><a name="1391"></a><a href="#1391" id="line1391"> 1391</a> </span> :
2898 <span class="lineNum" id="container1392"><a name="1392"></a><a href="#1392" id="line1392"> 1392</a> </span><span class="lineCov"> 1 : $this-&gt;setCursor($cursor); </span>
2899 <span class="lineNum" id="container1393"><a name="1393"></a><a href="#1393" id="line1393"> 1393</a> </span> :
2900 <span class="lineNum" id="container1394"><a name="1394"></a><a href="#1394" id="line1394"> 1394</a> </span><span class="lineCov"> 1 : return $this; </span>
2901 <span class="lineNum" id="container1395"><a name="1395"></a><a href="#1395" id="line1395"> 1395</a> </span><span class="lineDeadCode"> : } </span>
2902 <span class="lineNum" id="container1396"><a name="1396"></a><a href="#1396" id="line1396"> 1396</a> </span> : // }}}
2903 <span class="lineNum" id="container1397"><a name="1397"></a><a href="#1397" id="line1397"> 1397</a> </span> :
2904 <span class="lineNum" id="container1398"><a name="1398"></a><a href="#1398" id="line1398"> 1398</a> </span> : // void doDeferencing() {{{
2905 <span class="lineNum" id="container1399"><a name="1399"></a><a href="#1399" id="line1399"> 1399</a> </span> : /**
2906 <span class="lineNum" id="container1400"><a name="1400"></a><a href="#1400" id="line1400"> 1400</a> </span> : * Perform a deferencing in the current document, if there is
2907 <span class="lineNum" id="container1401"><a name="1401"></a><a href="#1401" id="line1401"> 1401</a> </span> : * any reference.
2908 <span class="lineNum" id="container1402"><a name="1402"></a><a href="#1402" id="line1402"> 1402</a> </span> : *
2909 <span class="lineNum" id="container1403"><a name="1403"></a><a href="#1403" id="line1403"> 1403</a> </span> : * ActiveMongo will do its best to group references queries as much
2910 <span class="lineNum" id="container1404"><a name="1404"></a><a href="#1404" id="line1404"> 1404</a> </span> : * as possible, in order to perform as less request as possible.
2911 <span class="lineNum" id="container1405"><a name="1405"></a><a href="#1405" id="line1405"> 1405</a> </span> : *
2912 <span class="lineNum" id="container1406"><a name="1406"></a><a href="#1406" id="line1406"> 1406</a> </span> : * ActiveMongo doesn't rely on MongoDB references, but it can support
2913 <span class="lineNum" id="container1407"><a name="1407"></a><a href="#1407" id="line1407"> 1407</a> </span> : * it, but it is prefered to use our referencing.
2914 <span class="lineNum" id="container1408"><a name="1408"></a><a href="#1408" id="line1408"> 1408</a> </span> : *
2915 <span class="lineNum" id="container1409"><a name="1409"></a><a href="#1409" id="line1409"> 1409</a> </span> : * @experimental
2916 <span class="lineNum" id="container1410"><a name="1410"></a><a href="#1410" id="line1410"> 1410</a> </span> : */
2917 <span class="lineNum" id="container1411"><a name="1411"></a><a href="#1411" id="line1411"> 1411</a> </span> : final function doDeferencing($refs=array())
2918 <span class="lineNum" id="container1412"><a name="1412"></a><a href="#1412" id="line1412"> 1412</a> </span> : {
2919 <span class="lineNum" id="container1413"><a name="1413"></a><a href="#1413" id="line1413"> 1413</a> </span> : /* Get current document */
2920 <span class="lineNum" id="container1414"><a name="1414"></a><a href="#1414" id="line1414"> 1414</a> </span><span class="lineCov"> 2 : $document = get_document_vars($this); </span>
2921 <span class="lineNum" id="container1415"><a name="1415"></a><a href="#1415" id="line1415"> 1415</a> </span> :
2922 <span class="lineNum" id="container1416"><a name="1416"></a><a href="#1416" id="line1416"> 1416</a> </span><span class="lineCov"> 2 : if (count($refs)==0) { </span>
2923 <span class="lineNum" id="container1417"><a name="1417"></a><a href="#1417" id="line1417"> 1417</a> </span> : /* Inspect the whole document */
2924 <span class="lineNum" id="container1418"><a name="1418"></a><a href="#1418" id="line1418"> 1418</a> </span><span class="lineCov"> 2 : $this-&gt;getDocumentReferences($document, $refs); </span>
2925 <span class="lineNum" id="container1419"><a name="1419"></a><a href="#1419" id="line1419"> 1419</a> </span><span class="lineCov"> 2 : } </span>
2926 <span class="lineNum" id="container1420"><a name="1420"></a><a href="#1420" id="line1420"> 1420</a> </span> :
2927 <span class="lineNum" id="container1421"><a name="1421"></a><a href="#1421" id="line1421"> 1421</a> </span><span class="lineCov"> 2 : $db = $this-&gt;_getConnection(); </span>
2928 <span class="lineNum" id="container1422"><a name="1422"></a><a href="#1422" id="line1422"> 1422</a> </span> :
2929 <span class="lineNum" id="container1423"><a name="1423"></a><a href="#1423" id="line1423"> 1423</a> </span> : /* Gather information about ActiveMongo Objects
2930 <span class="lineNum" id="container1424"><a name="1424"></a><a href="#1424" id="line1424"> 1424</a> </span> : * that we need to create
2931 <span class="lineNum" id="container1425"><a name="1425"></a><a href="#1425" id="line1425"> 1425</a> </span> : */
2932 <span class="lineNum" id="container1426"><a name="1426"></a><a href="#1426" id="line1426"> 1426</a> </span><span class="lineCov"> 2 : $classes = array(); </span>
2933 <span class="lineNum" id="container1427"><a name="1427"></a><a href="#1427" id="line1427"> 1427</a> </span><span class="lineCov"> 2 : foreach ($refs as $ref) { </span>
2934 <span class="lineNum" id="container1428"><a name="1428"></a><a href="#1428" id="line1428"> 1428</a> </span><span class="lineCov"> 2 : if (!isset($ref['ref']['class'])) { </span>
2935 <span class="lineNum" id="container1429"><a name="1429"></a><a href="#1429" id="line1429"> 1429</a> </span> :
2936 <span class="lineNum" id="container1430"><a name="1430"></a><a href="#1430" id="line1430"> 1430</a> </span> : /* Support MongoDBRef, we do our best to be compatible {{{ */
2937 <span class="lineNum" id="container1431"><a name="1431"></a><a href="#1431" id="line1431"> 1431</a> </span> : /* MongoDB 'normal' reference */
2938 <span class="lineNum" id="container1432"><a name="1432"></a><a href="#1432" id="line1432"> 1432</a> </span> :
2939 <span class="lineNum" id="container1433"><a name="1433"></a><a href="#1433" id="line1433"> 1433</a> </span><span class="lineCov"> 1 : $obj = MongoDBRef::get($db, $ref['ref']); </span>
2940 <span class="lineNum" id="container1434"><a name="1434"></a><a href="#1434" id="line1434"> 1434</a> </span> :
2941 <span class="lineNum" id="container1435"><a name="1435"></a><a href="#1435" id="line1435"> 1435</a> </span> : /* Offset the current document to the right spot */
2942 <span class="lineNum" id="container1436"><a name="1436"></a><a href="#1436" id="line1436"> 1436</a> </span> : /* Very inefficient, never use it, instead use ActiveMongo References */
2943 <span class="lineNum" id="container1437"><a name="1437"></a><a href="#1437" id="line1437"> 1437</a> </span> :
2944 <span class="lineNum" id="container1438"><a name="1438"></a><a href="#1438" id="line1438"> 1438</a> </span><span class="lineCov"> 1 : $this-&gt;_deferencingRestoreProperty($document, $ref['key'], $obj); </span>
2945 <span class="lineNum" id="container1439"><a name="1439"></a><a href="#1439" id="line1439"> 1439</a> </span> :
2946 <span class="lineNum" id="container1440"><a name="1440"></a><a href="#1440" id="line1440"> 1440</a> </span> : /* Dirty hack, override our current document
2947 <span class="lineNum" id="container1441"><a name="1441"></a><a href="#1441" id="line1441"> 1441</a> </span> : * property with the value itself, in order to
2948 <span class="lineNum" id="container1442"><a name="1442"></a><a href="#1442" id="line1442"> 1442</a> </span> : * avoid replace a MongoDB reference by its content
2949 <span class="lineNum" id="container1443"><a name="1443"></a><a href="#1443" id="line1443"> 1443</a> </span> : */
2950 <span class="lineNum" id="container1444"><a name="1444"></a><a href="#1444" id="line1444"> 1444</a> </span><span class="lineCov"> 1 : $this-&gt;_deferencingRestoreProperty($this-&gt;_current, $ref['key'], $obj); </span>
2951 <span class="lineNum" id="container1445"><a name="1445"></a><a href="#1445" id="line1445"> 1445</a> </span> :
2952 <span class="lineNum" id="container1446"><a name="1446"></a><a href="#1446" id="line1446"> 1446</a> </span> : /* }}} */
2953 <span class="lineNum" id="container1447"><a name="1447"></a><a href="#1447" id="line1447"> 1447</a> </span> :
2954 <span class="lineNum" id="container1448"><a name="1448"></a><a href="#1448" id="line1448"> 1448</a> </span><span class="lineCov"> 1 : } else { </span>
2955 <span class="lineNum" id="container1449"><a name="1449"></a><a href="#1449" id="line1449"> 1449</a> </span> :
2956 <span class="lineNum" id="container1450"><a name="1450"></a><a href="#1450" id="line1450"> 1450</a> </span><span class="lineCov"> 2 : if (isset($ref['ref']['dynamic'])) { </span>
2957 <span class="lineNum" id="container1451"><a name="1451"></a><a href="#1451" id="line1451"> 1451</a> </span> : /* ActiveMongo Dynamic Reference */
2958 <span class="lineNum" id="container1452"><a name="1452"></a><a href="#1452" id="line1452"> 1452</a> </span> :
2959 <span class="lineNum" id="container1453"><a name="1453"></a><a href="#1453" id="line1453"> 1453</a> </span> : /* Create ActiveMongo object */
2960 <span class="lineNum" id="container1454"><a name="1454"></a><a href="#1454" id="line1454"> 1454</a> </span><span class="lineCov"> 1 : $req = $this-&gt;_deferencingCreateObject($ref['ref']['class']); </span>
2961 <span class="lineNum" id="container1455"><a name="1455"></a><a href="#1455" id="line1455"> 1455</a> </span> :
2962 <span class="lineNum" id="container1456"><a name="1456"></a><a href="#1456" id="line1456"> 1456</a> </span> : /* Restore saved query */
2963 <span class="lineNum" id="container1457"><a name="1457"></a><a href="#1457" id="line1457"> 1457</a> </span><span class="lineCov"> 1 : $req-&gt;_deferencingQuery($ref['ref']['dynamic']); </span>
2964 <span class="lineNum" id="container1458"><a name="1458"></a><a href="#1458" id="line1458"> 1458</a> </span> :
2965 <span class="lineNum" id="container1459"><a name="1459"></a><a href="#1459" id="line1459"> 1459</a> </span><span class="lineCov"> 1 : $results = array(); </span>
2966 <span class="lineNum" id="container1460"><a name="1460"></a><a href="#1460" id="line1460"> 1460</a> </span> :
2967 <span class="lineNum" id="container1461"><a name="1461"></a><a href="#1461" id="line1461"> 1461</a> </span> : /* Add the result set */
2968 <span class="lineNum" id="container1462"><a name="1462"></a><a href="#1462" id="line1462"> 1462</a> </span><span class="lineCov"> 1 : foreach ($req as $result) { </span>
2969 <span class="lineNum" id="container1463"><a name="1463"></a><a href="#1463" id="line1463"> 1463</a> </span><span class="lineCov"> 1 : $results[] = clone $result; </span>
2970 <span class="lineNum" id="container1464"><a name="1464"></a><a href="#1464" id="line1464"> 1464</a> </span><span class="lineCov"> 1 : } </span>
2971 <span class="lineNum" id="container1465"><a name="1465"></a><a href="#1465" id="line1465"> 1465</a> </span> :
2972 <span class="lineNum" id="container1466"><a name="1466"></a><a href="#1466" id="line1466"> 1466</a> </span> : /* add information about the current reference */
2973 <span class="lineNum" id="container1467"><a name="1467"></a><a href="#1467" id="line1467"> 1467</a> </span><span class="lineCov"> 1 : foreach ($ref['ref'] as $key =&gt; $value) { </span>
2974 <span class="lineNum" id="container1468"><a name="1468"></a><a href="#1468" id="line1468"> 1468</a> </span><span class="lineCov"> 1 : $results[$key] = $value; </span>
2975 <span class="lineNum" id="container1469"><a name="1469"></a><a href="#1469" id="line1469"> 1469</a> </span><span class="lineCov"> 1 : } </span>
2976 <span class="lineNum" id="container1470"><a name="1470"></a><a href="#1470" id="line1470"> 1470</a> </span> :
2977 <span class="lineNum" id="container1471"><a name="1471"></a><a href="#1471" id="line1471"> 1471</a> </span><span class="lineCov"> 1 : $this-&gt;_deferencingRestoreProperty($document, $ref['key'], $results); </span>
2978 <span class="lineNum" id="container1472"><a name="1472"></a><a href="#1472" id="line1472"> 1472</a> </span> :
2979 <span class="lineNum" id="container1473"><a name="1473"></a><a href="#1473" id="line1473"> 1473</a> </span><span class="lineCov"> 1 : } else { </span>
2980 <span class="lineNum" id="container1474"><a name="1474"></a><a href="#1474" id="line1474"> 1474</a> </span> : /* ActiveMongo Reference FTW! */
2981 <span class="lineNum" id="container1475"><a name="1475"></a><a href="#1475" id="line1475"> 1475</a> </span><span class="lineCov"> 2 : $classes[$ref['ref']['class']][] = $ref; </span>
2982 <span class="lineNum" id="container1476"><a name="1476"></a><a href="#1476" id="line1476"> 1476</a> </span> : }
2983 <span class="lineNum" id="container1477"><a name="1477"></a><a href="#1477" id="line1477"> 1477</a> </span> : }
2984 <span class="lineNum" id="container1478"><a name="1478"></a><a href="#1478" id="line1478"> 1478</a> </span><span class="lineCov"> 2 : } </span>
2985 <span class="lineNum" id="container1479"><a name="1479"></a><a href="#1479" id="line1479"> 1479</a> </span> :
2986 <span class="lineNum" id="container1480"><a name="1480"></a><a href="#1480" id="line1480"> 1480</a> </span> : /* {{{ Create needed objects to query MongoDB and replace
2987 <span class="lineNum" id="container1481"><a name="1481"></a><a href="#1481" id="line1481"> 1481</a> </span> : * our references by its objects documents.
2988 <span class="lineNum" id="container1482"><a name="1482"></a><a href="#1482" id="line1482"> 1482</a> </span> : */
2989 <span class="lineNum" id="container1483"><a name="1483"></a><a href="#1483" id="line1483"> 1483</a> </span><span class="lineCov"> 2 : foreach ($classes as $class =&gt; $refs) { </span>
2990 <span class="lineNum" id="container1484"><a name="1484"></a><a href="#1484" id="line1484"> 1484</a> </span><span class="lineCov"> 2 : $req = $this-&gt;_deferencingCreateObject($class); </span>
2991 <span class="lineNum" id="container1485"><a name="1485"></a><a href="#1485" id="line1485"> 1485</a> </span> :
2992 <span class="lineNum" id="container1486"><a name="1486"></a><a href="#1486" id="line1486"> 1486</a> </span> : /* Load list of IDs */
2993 <span class="lineNum" id="container1487"><a name="1487"></a><a href="#1487" id="line1487"> 1487</a> </span><span class="lineCov"> 2 : $ids = array(); </span>
2994 <span class="lineNum" id="container1488"><a name="1488"></a><a href="#1488" id="line1488"> 1488</a> </span><span class="lineCov"> 2 : foreach ($refs as $ref) { </span>
2995 <span class="lineNum" id="container1489"><a name="1489"></a><a href="#1489" id="line1489"> 1489</a> </span><span class="lineCov"> 2 : $ids[] = $ref['ref']['$id']; </span>
2996 <span class="lineNum" id="container1490"><a name="1490"></a><a href="#1490" id="line1490"> 1490</a> </span><span class="lineCov"> 2 : } </span>
2997 <span class="lineNum" id="container1491"><a name="1491"></a><a href="#1491" id="line1491"> 1491</a> </span> :
2998 <span class="lineNum" id="container1492"><a name="1492"></a><a href="#1492" id="line1492"> 1492</a> </span> : /* Search to MongoDB once for all IDs found */
2999 <span class="lineNum" id="container1493"><a name="1493"></a><a href="#1493" id="line1493"> 1493</a> </span><span class="lineCov"> 2 : $req-&gt;find($ids); </span>
3000 <span class="lineNum" id="container1494"><a name="1494"></a><a href="#1494" id="line1494"> 1494</a> </span> :
3001 <span class="lineNum" id="container1495"><a name="1495"></a><a href="#1495" id="line1495"> 1495</a> </span> :
3002 <span class="lineNum" id="container1496"><a name="1496"></a><a href="#1496" id="line1496"> 1496</a> </span> : /* Replace our references by its objects */
3003 <span class="lineNum" id="container1497"><a name="1497"></a><a href="#1497" id="line1497"> 1497</a> </span><span class="lineCov"> 2 : foreach ($refs as $ref) { </span>
3004 <span class="lineNum" id="container1498"><a name="1498"></a><a href="#1498" id="line1498"> 1498</a> </span><span class="lineCov"> 2 : $id = $ref['ref']['$id']; </span>
3005 <span class="lineNum" id="container1499"><a name="1499"></a><a href="#1499" id="line1499"> 1499</a> </span><span class="lineCov"> 2 : $place = $ref['key']; </span>
3006 <span class="lineNum" id="container1500"><a name="1500"></a><a href="#1500" id="line1500"> 1500</a> </span><span class="lineCov"> 2 : $req-&gt;rewind(); </span>
3007 <span class="lineNum" id="container1501"><a name="1501"></a><a href="#1501" id="line1501"> 1501</a> </span><span class="lineCov"> 2 : while ($req-&gt;getID() != $id &amp;&amp; $req-&gt;next()); </span>
3008 <span class="lineNum" id="container1502"><a name="1502"></a><a href="#1502" id="line1502"> 1502</a> </span> :
3009 <span class="lineNum" id="container1503"><a name="1503"></a><a href="#1503" id="line1503"> 1503</a> </span><span class="lineCov"> 2 : $this-&gt;_deferencingRestoreProperty($document, $place, clone $req); </span>
3010 <span class="lineNum" id="container1504"><a name="1504"></a><a href="#1504" id="line1504"> 1504</a> </span> :
3011 <span class="lineNum" id="container1505"><a name="1505"></a><a href="#1505" id="line1505"> 1505</a> </span><span class="lineCov"> 2 : unset($obj); </span>
3012 <span class="lineNum" id="container1506"><a name="1506"></a><a href="#1506" id="line1506"> 1506</a> </span><span class="lineCov"> 2 : } </span>
3013 <span class="lineNum" id="container1507"><a name="1507"></a><a href="#1507" id="line1507"> 1507</a> </span> :
3014 <span class="lineNum" id="container1508"><a name="1508"></a><a href="#1508" id="line1508"> 1508</a> </span> : /* Release request, remember we
3015 <span class="lineNum" id="container1509"><a name="1509"></a><a href="#1509" id="line1509"> 1509</a> </span> : * safely cloned it,
3016 <span class="lineNum" id="container1510"><a name="1510"></a><a href="#1510" id="line1510"> 1510</a> </span> : */
3017 <span class="lineNum" id="container1511"><a name="1511"></a><a href="#1511" id="line1511"> 1511</a> </span><span class="lineCov"> 2 : unset($req); </span>
3018 <span class="lineNum" id="container1512"><a name="1512"></a><a href="#1512" id="line1512"> 1512</a> </span><span class="lineCov"> 2 : } </span>
3019 <span class="lineNum" id="container1513"><a name="1513"></a><a href="#1513" id="line1513"> 1513</a> </span> : // }}}
3020 <span class="lineNum" id="container1514"><a name="1514"></a><a href="#1514" id="line1514"> 1514</a> </span> :
3021 <span class="lineNum" id="container1515"><a name="1515"></a><a href="#1515" id="line1515"> 1515</a> </span> : /* Replace the current document by the new deferenced objects */
3022 <span class="lineNum" id="container1516"><a name="1516"></a><a href="#1516" id="line1516"> 1516</a> </span><span class="lineCov"> 2 : foreach ($document as $key =&gt; $value) { </span>
3023 <span class="lineNum" id="container1517"><a name="1517"></a><a href="#1517" id="line1517"> 1517</a> </span><span class="lineCov"> 2 : $this-&gt;$key = $value; </span>
3024 <span class="lineNum" id="container1518"><a name="1518"></a><a href="#1518" id="line1518"> 1518</a> </span><span class="lineCov"> 2 : } </span>
3025 <span class="lineNum" id="container1519"><a name="1519"></a><a href="#1519" id="line1519"> 1519</a> </span><span class="lineCov"> 2 : } </span>
3026 <span class="lineNum" id="container1520"><a name="1520"></a><a href="#1520" id="line1520"> 1520</a> </span> : // }}}
3027 <span class="lineNum" id="container1521"><a name="1521"></a><a href="#1521" id="line1521"> 1521</a> </span> :
3028 <span class="lineNum" id="container1522"><a name="1522"></a><a href="#1522" id="line1522"> 1522</a> </span> : // void getColumnDeference(&amp;$document, $propety, ActiveMongo Obj) {{{
3029 <span class="lineNum" id="container1523"><a name="1523"></a><a href="#1523" id="line1523"> 1523</a> </span> : /**
3030 <span class="lineNum" id="container1524"><a name="1524"></a><a href="#1524" id="line1524"> 1524</a> </span> : * Prepare a &quot;selector&quot; document to search treaing the property
3031 <span class="lineNum" id="container1525"><a name="1525"></a><a href="#1525" id="line1525"> 1525</a> </span> : * as a reference to the given ActiveMongo object.
3032 <span class="lineNum" id="container1526"><a name="1526"></a><a href="#1526" id="line1526"> 1526</a> </span> : *
3033 <span class="lineNum" id="container1527"><a name="1527"></a><a href="#1527" id="line1527"> 1527</a> </span> : */
3034 <span class="lineNum" id="container1528"><a name="1528"></a><a href="#1528" id="line1528"> 1528</a> </span> : final function getColumnDeference(&amp;$document, $property, ActiveMongo $obj)
3035 <span class="lineNum" id="container1529"><a name="1529"></a><a href="#1529" id="line1529"> 1529</a> </span> : {
3036 <span class="lineNum" id="container1530"><a name="1530"></a><a href="#1530" id="line1530"> 1530</a> </span><span class="lineCov"> 1 : $document[&quot;{$property}.\$id&quot;] = $obj-&gt;getID(); </span>
3037 <span class="lineNum" id="container1531"><a name="1531"></a><a href="#1531" id="line1531"> 1531</a> </span><span class="lineCov"> 1 : } </span>
3038 <span class="lineNum" id="container1532"><a name="1532"></a><a href="#1532" id="line1532"> 1532</a> </span> : // }}}
3039 <span class="lineNum" id="container1533"><a name="1533"></a><a href="#1533" id="line1533"> 1533</a> </span> :
3040 <span class="lineNum" id="container1534"><a name="1534"></a><a href="#1534" id="line1534"> 1534</a> </span> : // void findReferences(&amp;$document) {{{
3041 <span class="lineNum" id="container1535"><a name="1535"></a><a href="#1535" id="line1535"> 1535</a> </span> : /**
3042 <span class="lineNum" id="container1536"><a name="1536"></a><a href="#1536" id="line1536"> 1536</a> </span> : * Check if in the current document to insert or update
3043 <span class="lineNum" id="container1537"><a name="1537"></a><a href="#1537" id="line1537"> 1537</a> </span> : * exists any references to other ActiveMongo Objects.
3044 <span class="lineNum" id="container1538"><a name="1538"></a><a href="#1538" id="line1538"> 1538</a> </span> : *
3045 <span class="lineNum" id="container1539"><a name="1539"></a><a href="#1539" id="line1539"> 1539</a> </span> : * @return void
3046 <span class="lineNum" id="container1540"><a name="1540"></a><a href="#1540" id="line1540"> 1540</a> </span> : */
3047 <span class="lineNum" id="container1541"><a name="1541"></a><a href="#1541" id="line1541"> 1541</a> </span> : final function findReferences(&amp;$document)
3048 <span class="lineNum" id="container1542"><a name="1542"></a><a href="#1542" id="line1542"> 1542</a> </span> : {
3049 <span class="lineNum" id="container1543"><a name="1543"></a><a href="#1543" id="line1543"> 1543</a> </span><span class="lineCov"> 20 : if (!is_array($document)) { </span>
3050 <span class="lineNum" id="container1544"><a name="1544"></a><a href="#1544" id="line1544"> 1544</a> </span><span class="lineNoCov"> 0 : return; </span>
3051 <span class="lineNum" id="container1545"><a name="1545"></a><a href="#1545" id="line1545"> 1545</a> </span><span class="lineDeadCode"> : } </span>
3052 <span class="lineNum" id="container1546"><a name="1546"></a><a href="#1546" id="line1546"> 1546</a> </span><span class="lineCov"> 20 : foreach($document as &amp;$value) { </span>
3053 <span class="lineNum" id="container1547"><a name="1547"></a><a href="#1547" id="line1547"> 1547</a> </span><span class="lineCov"> 20 : $parent_class = __CLASS__; </span>
3054 <span class="lineNum" id="container1548"><a name="1548"></a><a href="#1548" id="line1548"> 1548</a> </span><span class="lineCov"> 20 : if (is_array($value)) { </span>
3055 <span class="lineNum" id="container1549"><a name="1549"></a><a href="#1549" id="line1549"> 1549</a> </span><span class="lineCov"> 7 : if (MongoDBRef::isRef($value)) { </span>
3056 <span class="lineNum" id="container1550"><a name="1550"></a><a href="#1550" id="line1550"> 1550</a> </span> : /* If the property we're inspecting is a reference,
3057 <span class="lineNum" id="container1551"><a name="1551"></a><a href="#1551" id="line1551"> 1551</a> </span> : * we need to remove the values, restoring the valid
3058 <span class="lineNum" id="container1552"><a name="1552"></a><a href="#1552" id="line1552"> 1552</a> </span> : * Reference.
3059 <span class="lineNum" id="container1553"><a name="1553"></a><a href="#1553" id="line1553"> 1553</a> </span> : */
3060 <span class="lineNum" id="container1554"><a name="1554"></a><a href="#1554" id="line1554"> 1554</a> </span> : $arr = array(
3061 <span class="lineNum" id="container1555"><a name="1555"></a><a href="#1555" id="line1555"> 1555</a> </span><span class="lineCov"> 1 : '$ref'=&gt;1, '$id'=&gt;1, '$db'=&gt;1, 'class'=&gt;1, 'dynamic'=&gt;1 </span>
3062 <span class="lineNum" id="container1556"><a name="1556"></a><a href="#1556" id="line1556"> 1556</a> </span><span class="lineCov"> 1 : ); </span>
3063 <span class="lineNum" id="container1557"><a name="1557"></a><a href="#1557" id="line1557"> 1557</a> </span><span class="lineCov"> 1 : foreach (array_keys($value) as $key) { </span>
3064 <span class="lineNum" id="container1558"><a name="1558"></a><a href="#1558" id="line1558"> 1558</a> </span><span class="lineCov"> 1 : if (!isset($arr[$key])) { </span>
3065 <span class="lineNum" id="container1559"><a name="1559"></a><a href="#1559" id="line1559"> 1559</a> </span><span class="lineNoCov"> 0 : unset($value[$key]); </span>
3066 <span class="lineNum" id="container1560"><a name="1560"></a><a href="#1560" id="line1560"> 1560</a> </span><span class="lineNoCov"> 0 : } </span>
3067 <span class="lineNum" id="container1561"><a name="1561"></a><a href="#1561" id="line1561"> 1561</a> </span><span class="lineCov"> 1 : } </span>
3068 <span class="lineNum" id="container1562"><a name="1562"></a><a href="#1562" id="line1562"> 1562</a> </span><span class="lineCov"> 1 : } else { </span>
3069 <span class="lineNum" id="container1563"><a name="1563"></a><a href="#1563" id="line1563"> 1563</a> </span><span class="lineCov"> 7 : $this-&gt;findReferences($value); </span>
3070 <span class="lineNum" id="container1564"><a name="1564"></a><a href="#1564" id="line1564"> 1564</a> </span> : }
3071 <span class="lineNum" id="container1565"><a name="1565"></a><a href="#1565" id="line1565"> 1565</a> </span><span class="lineCov"> 20 : } else if ($value InstanceOf $parent_class) { </span>
3072 <span class="lineNum" id="container1566"><a name="1566"></a><a href="#1566" id="line1566"> 1566</a> </span><span class="lineCov"> 2 : $value = $value-&gt;getReference(); </span>
3073 <span class="lineNum" id="container1567"><a name="1567"></a><a href="#1567" id="line1567"> 1567</a> </span><span class="lineCov"> 2 : } </span>
3074 <span class="lineNum" id="container1568"><a name="1568"></a><a href="#1568" id="line1568"> 1568</a> </span><span class="lineCov"> 20 : } </span>
3075 <span class="lineNum" id="container1569"><a name="1569"></a><a href="#1569" id="line1569"> 1569</a> </span> : /* trick: delete last var. reference */
3076 <span class="lineNum" id="container1570"><a name="1570"></a><a href="#1570" id="line1570"> 1570</a> </span><span class="lineCov"> 20 : unset($value); </span>
3077 <span class="lineNum" id="container1571"><a name="1571"></a><a href="#1571" id="line1571"> 1571</a> </span><span class="lineCov"> 20 : } </span>
3078 <span class="lineNum" id="container1572"><a name="1572"></a><a href="#1572" id="line1572"> 1572</a> </span> : // }}}
3079 <span class="lineNum" id="container1573"><a name="1573"></a><a href="#1573" id="line1573"> 1573</a> </span> :
3080 <span class="lineNum" id="container1574"><a name="1574"></a><a href="#1574" id="line1574"> 1574</a> </span> : // void __clone() {{{
3081 <span class="lineNum" id="container1575"><a name="1575"></a><a href="#1575" id="line1575"> 1575</a> </span> : /**
3082 <span class="lineNum" id="container1576"><a name="1576"></a><a href="#1576" id="line1576"> 1576</a> </span> : * Cloned objects are rarely used, but ActiveMongo
3083 <span class="lineNum" id="container1577"><a name="1577"></a><a href="#1577" id="line1577"> 1577</a> </span> : * uses it to create different objects per everyrecord,
3084 <span class="lineNum" id="container1578"><a name="1578"></a><a href="#1578" id="line1578"> 1578</a> </span> : * which is used at deferencing. Therefore cloned object
3085 <span class="lineNum" id="container1579"><a name="1579"></a><a href="#1579" id="line1579"> 1579</a> </span> : * do not contains the recordset, just the actual document,
3086 <span class="lineNum" id="container1580"><a name="1580"></a><a href="#1580" id="line1580"> 1580</a> </span> : * so iterations are not allowed.
3087 <span class="lineNum" id="container1581"><a name="1581"></a><a href="#1581" id="line1581"> 1581</a> </span> : *
3088 <span class="lineNum" id="container1582"><a name="1582"></a><a href="#1582" id="line1582"> 1582</a> </span> : */
3089 <span class="lineNum" id="container1583"><a name="1583"></a><a href="#1583" id="line1583"> 1583</a> </span> : final function __clone()
3090 <span class="lineNum" id="container1584"><a name="1584"></a><a href="#1584" id="line1584"> 1584</a> </span> : {
3091 <span class="lineNum" id="container1585"><a name="1585"></a><a href="#1585" id="line1585"> 1585</a> </span><span class="lineCov"> 3 : if (!$this-&gt;_current) { </span>
3092 <span class="lineNum" id="container1586"><a name="1586"></a><a href="#1586" id="line1586"> 1586</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Empty objects can't be cloned&quot;); </span>
3093 <span class="lineNum" id="container1587"><a name="1587"></a><a href="#1587" id="line1587"> 1587</a> </span><span class="lineDeadCode"> : } </span>
3094 <span class="lineNum" id="container1588"><a name="1588"></a><a href="#1588" id="line1588"> 1588</a> </span><span class="lineCov"> 3 : unset($this-&gt;_cursor); </span>
3095 <span class="lineNum" id="container1589"><a name="1589"></a><a href="#1589" id="line1589"> 1589</a> </span><span class="lineCov"> 3 : $this-&gt;_cloned = TRUE; </span>
3096 <span class="lineNum" id="container1590"><a name="1590"></a><a href="#1590" id="line1590"> 1590</a> </span><span class="lineCov"> 3 : } </span>
3097 <span class="lineNum" id="container1591"><a name="1591"></a><a href="#1591" id="line1591"> 1591</a> </span> : // }}}
3098 <span class="lineNum" id="container1592"><a name="1592"></a><a href="#1592" id="line1592"> 1592</a> </span> :
3099 <span class="lineNum" id="container1593"><a name="1593"></a><a href="#1593" id="line1593"> 1593</a> </span> : // }}}
3100 <span class="lineNum" id="container1594"><a name="1594"></a><a href="#1594" id="line1594"> 1594</a> </span> :
3101 <span class="lineNum" id="container1595"><a name="1595"></a><a href="#1595" id="line1595"> 1595</a> </span> : // GET DOCUMENT ID {{{
3102 <span class="lineNum" id="container1596"><a name="1596"></a><a href="#1596" id="line1596"> 1596</a> </span> :
3103 <span class="lineNum" id="container1597"><a name="1597"></a><a href="#1597" id="line1597"> 1597</a> </span> : // getID() {{{
3104 <span class="lineNum" id="container1598"><a name="1598"></a><a href="#1598" id="line1598"> 1598</a> </span> : /**
3105 <span class="lineNum" id="container1599"><a name="1599"></a><a href="#1599" id="line1599"> 1599</a> </span> : * Return the current document ID. If there is
3106 <span class="lineNum" id="container1600"><a name="1600"></a><a href="#1600" id="line1600"> 1600</a> </span> : * no document it would return FALSE.
3107 <span class="lineNum" id="container1601"><a name="1601"></a><a href="#1601" id="line1601"> 1601</a> </span> : *
3108 <span class="lineNum" id="container1602"><a name="1602"></a><a href="#1602" id="line1602"> 1602</a> </span> : * @return object|FALSE
3109 <span class="lineNum" id="container1603"><a name="1603"></a><a href="#1603" id="line1603"> 1603</a> </span> : */
3110 <span class="lineNum" id="container1604"><a name="1604"></a><a href="#1604" id="line1604"> 1604</a> </span> : final public function getID()
3111 <span class="lineNum" id="container1605"><a name="1605"></a><a href="#1605" id="line1605"> 1605</a> </span> : {
3112 <span class="lineNum" id="container1606"><a name="1606"></a><a href="#1606" id="line1606"> 1606</a> </span><span class="lineCov"> 26 : if ($this-&gt;_id instanceof MongoID) { </span>
3113 <span class="lineNum" id="container1607"><a name="1607"></a><a href="#1607" id="line1607"> 1607</a> </span><span class="lineCov"> 18 : return $this-&gt;_id; </span>
3114 <span class="lineNum" id="container1608"><a name="1608"></a><a href="#1608" id="line1608"> 1608</a> </span><span class="lineDeadCode"> : } </span>
3115 <span class="lineNum" id="container1609"><a name="1609"></a><a href="#1609" id="line1609"> 1609</a> </span><span class="lineCov"> 23 : return FALSE; </span>
3116 <span class="lineNum" id="container1610"><a name="1610"></a><a href="#1610" id="line1610"> 1610</a> </span><span class="lineDeadCode"> : } </span>
3117 <span class="lineNum" id="container1611"><a name="1611"></a><a href="#1611" id="line1611"> 1611</a> </span> : // }}}
3118 <span class="lineNum" id="container1612"><a name="1612"></a><a href="#1612" id="line1612"> 1612</a> </span> :
3119 <span class="lineNum" id="container1613"><a name="1613"></a><a href="#1613" id="line1613"> 1613</a> </span> : // string key() {{{
3120 <span class="lineNum" id="container1614"><a name="1614"></a><a href="#1614" id="line1614"> 1614</a> </span> : /**
3121 <span class="lineNum" id="container1615"><a name="1615"></a><a href="#1615" id="line1615"> 1615</a> </span> : * Return the current key
3122 <span class="lineNum" id="container1616"><a name="1616"></a><a href="#1616" id="line1616"> 1616</a> </span> : *
3123 <span class="lineNum" id="container1617"><a name="1617"></a><a href="#1617" id="line1617"> 1617</a> </span> : * @return string
3124 <span class="lineNum" id="container1618"><a name="1618"></a><a href="#1618" id="line1618"> 1618</a> </span> : */
3125 <span class="lineNum" id="container1619"><a name="1619"></a><a href="#1619" id="line1619"> 1619</a> </span> : final function key()
3126 <span class="lineNum" id="container1620"><a name="1620"></a><a href="#1620" id="line1620"> 1620</a> </span> : {
3127 <span class="lineNum" id="container1621"><a name="1621"></a><a href="#1621" id="line1621"> 1621</a> </span><span class="lineCov"> 3 : return (string)$this-&gt;getID(); </span>
3128 <span class="lineNum" id="container1622"><a name="1622"></a><a href="#1622" id="line1622"> 1622</a> </span><span class="lineDeadCode"> : } </span>
3129 <span class="lineNum" id="container1623"><a name="1623"></a><a href="#1623" id="line1623"> 1623</a> </span> : // }}}
3130 <span class="lineNum" id="container1624"><a name="1624"></a><a href="#1624" id="line1624"> 1624</a> </span> :
3131 <span class="lineNum" id="container1625"><a name="1625"></a><a href="#1625" id="line1625"> 1625</a> </span> : // }}}
3132 <span class="lineNum" id="container1626"><a name="1626"></a><a href="#1626" id="line1626"> 1626</a> </span> :
3133 <span class="lineNum" id="container1627"><a name="1627"></a><a href="#1627" id="line1627"> 1627</a> </span> : // Fancy (and silly) query abstraction {{{
3134 <span class="lineNum" id="container1628"><a name="1628"></a><a href="#1628" id="line1628"> 1628</a> </span> :
3135 <span class="lineNum" id="container1629"><a name="1629"></a><a href="#1629" id="line1629"> 1629</a> </span> : // _assertNotInQuery() {{{
3136 <span class="lineNum" id="container1630"><a name="1630"></a><a href="#1630" id="line1630"> 1630</a> </span> : /**
3137 <span class="lineNum" id="container1631"><a name="1631"></a><a href="#1631" id="line1631"> 1631</a> </span> : * Check if we can modify the query or not. We cannot modify
3138 <span class="lineNum" id="container1632"><a name="1632"></a><a href="#1632" id="line1632"> 1632</a> </span> : * the query if we're iterating over and oldest query, in this case the
3139 <span class="lineNum" id="container1633"><a name="1633"></a><a href="#1633" id="line1633"> 1633</a> </span> : * object must be reset.
3140 <span class="lineNum" id="container1634"><a name="1634"></a><a href="#1634" id="line1634"> 1634</a> </span> : *
3141 <span class="lineNum" id="container1635"><a name="1635"></a><a href="#1635" id="line1635"> 1635</a> </span> : * @return void
3142 <span class="lineNum" id="container1636"><a name="1636"></a><a href="#1636" id="line1636"> 1636</a> </span> : */
3143 <span class="lineNum" id="container1637"><a name="1637"></a><a href="#1637" id="line1637"> 1637</a> </span> : final private function _assertNotInQuery()
3144 <span class="lineNum" id="container1638"><a name="1638"></a><a href="#1638" id="line1638"> 1638</a> </span> : {
3145 <span class="lineNum" id="container1639"><a name="1639"></a><a href="#1639" id="line1639"> 1639</a> </span><span class="lineCov"> 32 : if ($this-&gt;_cloned || $this-&gt;_cursor InstanceOf MongoCursor || $this-&gt;_cursor_ex != NULL) { </span>
3146 <span class="lineNum" id="container1640"><a name="1640"></a><a href="#1640" id="line1640"> 1640</a> </span><span class="lineCov"> 2 : throw new ActiveMongo_Exception(&quot;You cannot modify the query, please reset the object&quot;); </span>
3147 <span class="lineNum" id="container1641"><a name="1641"></a><a href="#1641" id="line1641"> 1641</a> </span><span class="lineDeadCode"> : } </span>
3148 <span class="lineNum" id="container1642"><a name="1642"></a><a href="#1642" id="line1642"> 1642</a> </span><span class="lineCov"> 32 : } </span>
3149 <span class="lineNum" id="container1643"><a name="1643"></a><a href="#1643" id="line1643"> 1643</a> </span> : // }}}
3150 <span class="lineNum" id="container1644"><a name="1644"></a><a href="#1644" id="line1644"> 1644</a> </span> :
3151 <span class="lineNum" id="container1645"><a name="1645"></a><a href="#1645" id="line1645"> 1645</a> </span> : // bool servedFromCache() {{{
3152 <span class="lineNum" id="container1646"><a name="1646"></a><a href="#1646" id="line1646"> 1646</a> </span> : /**
3153 <span class="lineNum" id="container1647"><a name="1647"></a><a href="#1647" id="line1647"> 1647</a> </span> : * Return True if the current result
3154 <span class="lineNum" id="container1648"><a name="1648"></a><a href="#1648" id="line1648"> 1648</a> </span> : * was provided by a before_query hook (aka cache)
3155 <span class="lineNum" id="container1649"><a name="1649"></a><a href="#1649" id="line1649"> 1649</a> </span> : * or False if it was retrieved from MongoDB
3156 <span class="lineNum" id="container1650"><a name="1650"></a><a href="#1650" id="line1650"> 1650</a> </span> : *
3157 <span class="lineNum" id="container1651"><a name="1651"></a><a href="#1651" id="line1651"> 1651</a> </span> : * @return bool
3158 <span class="lineNum" id="container1652"><a name="1652"></a><a href="#1652" id="line1652"> 1652</a> </span> : */
3159 <span class="lineNum" id="container1653"><a name="1653"></a><a href="#1653" id="line1653"> 1653</a> </span> : final function servedFromCache()
3160 <span class="lineNum" id="container1654"><a name="1654"></a><a href="#1654" id="line1654"> 1654</a> </span> : {
3161 <span class="lineNum" id="container1655"><a name="1655"></a><a href="#1655" id="line1655"> 1655</a> </span><span class="lineCov"> 6 : return $this-&gt;_cached; </span>
3162 <span class="lineNum" id="container1656"><a name="1656"></a><a href="#1656" id="line1656"> 1656</a> </span><span class="lineDeadCode"> : } </span>
3163 <span class="lineNum" id="container1657"><a name="1657"></a><a href="#1657" id="line1657"> 1657</a> </span> : // }}}
3164 <span class="lineNum" id="container1658"><a name="1658"></a><a href="#1658" id="line1658"> 1658</a> </span> :
3165 <span class="lineNum" id="container1659"><a name="1659"></a><a href="#1659" id="line1659"> 1659</a> </span> : // doQuery() {{{
3166 <span class="lineNum" id="container1660"><a name="1660"></a><a href="#1660" id="line1660"> 1660</a> </span> : /**
3167 <span class="lineNum" id="container1661"><a name="1661"></a><a href="#1661" id="line1661"> 1661</a> </span> : * Build the current request and send it to MongoDB.
3168 <span class="lineNum" id="container1662"><a name="1662"></a><a href="#1662" id="line1662"> 1662</a> </span> : *
3169 <span class="lineNum" id="container1663"><a name="1663"></a><a href="#1663" id="line1663"> 1663</a> </span> : * @return this
3170 <span class="lineNum" id="container1664"><a name="1664"></a><a href="#1664" id="line1664"> 1664</a> </span> : */
3171 <span class="lineNum" id="container1665"><a name="1665"></a><a href="#1665" id="line1665"> 1665</a> </span> : final function doQuery($use_cache=TRUE)
3172 <span class="lineNum" id="container1666"><a name="1666"></a><a href="#1666" id="line1666"> 1666</a> </span> : {
3173 <span class="lineNum" id="container1667"><a name="1667"></a><a href="#1667" id="line1667"> 1667</a> </span><span class="lineCov"> 26 : if ($this-&gt;_cursor_ex) { </span>
3174 <span class="lineNum" id="container1668"><a name="1668"></a><a href="#1668" id="line1668"> 1668</a> </span><span class="lineNoCov"> 0 : switch ($this-&gt;_cursor_ex) { </span>
3175 <span class="lineNum" id="container1669"><a name="1669"></a><a href="#1669" id="line1669"> 1669</a> </span><span class="lineNoCov"> 0 : case self::FIND_AND_MODIFY: </span>
3176 <span class="lineNum" id="container1670"><a name="1670"></a><a href="#1670" id="line1670"> 1670</a> </span><span class="lineNoCov"> 0 : $this-&gt;_cursor_ex_value = NULL; </span>
3177 <span class="lineNum" id="container1671"><a name="1671"></a><a href="#1671" id="line1671"> 1671</a> </span><span class="lineNoCov"> 0 : return; </span>
3178 <span class="lineNum" id="container1672"><a name="1672"></a><a href="#1672" id="line1672"> 1672</a> </span><span class="lineNoCov"> 0 : default: </span>
3179 <span class="lineNum" id="container1673"><a name="1673"></a><a href="#1673" id="line1673"> 1673</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;Invalid _cursor_ex value&quot;); </span>
3180 <span class="lineNum" id="container1674"><a name="1674"></a><a href="#1674" id="line1674"> 1674</a> </span><span class="lineNoCov"> 0 : } </span>
3181 <span class="lineNum" id="container1675"><a name="1675"></a><a href="#1675" id="line1675"> 1675</a> </span><span class="lineDeadCode"> : } </span>
3182 <span class="lineNum" id="container1676"><a name="1676"></a><a href="#1676" id="line1676"> 1676</a> </span><span class="lineCov"> 26 : $this-&gt;_assertNotInQuery(); </span>
3183 <span class="lineNum" id="container1677"><a name="1677"></a><a href="#1677" id="line1677"> 1677</a> </span> :
3184 <span class="lineNum" id="container1678"><a name="1678"></a><a href="#1678" id="line1678"> 1678</a> </span> : $query = array(
3185 <span class="lineNum" id="container1679"><a name="1679"></a><a href="#1679" id="line1679"> 1679</a> </span><span class="lineCov"> 26 : 'collection' =&gt; $this-&gt;CollectionName(), </span>
3186 <span class="lineNum" id="container1680"><a name="1680"></a><a href="#1680" id="line1680"> 1680</a> </span><span class="lineCov"> 26 : 'query' =&gt; (array)$this-&gt;_query, </span>
3187 <span class="lineNum" id="container1681"><a name="1681"></a><a href="#1681" id="line1681"> 1681</a> </span><span class="lineCov"> 26 : 'properties' =&gt; (array)$this-&gt;_properties, </span>
3188 <span class="lineNum" id="container1682"><a name="1682"></a><a href="#1682" id="line1682"> 1682</a> </span><span class="lineCov"> 26 : 'sort' =&gt; (array)$this-&gt;_sort, </span>
3189 <span class="lineNum" id="container1683"><a name="1683"></a><a href="#1683" id="line1683"> 1683</a> </span><span class="lineCov"> 26 : 'skip' =&gt; $this-&gt;_skip, </span>
3190 <span class="lineNum" id="container1684"><a name="1684"></a><a href="#1684" id="line1684"> 1684</a> </span><span class="lineCov"> 26 : 'limit' =&gt; $this-&gt;_limit </span>
3191 <span class="lineNum" id="container1685"><a name="1685"></a><a href="#1685" id="line1685"> 1685</a> </span><span class="lineCov"> 26 : ); </span>
3192 <span class="lineNum" id="container1686"><a name="1686"></a><a href="#1686" id="line1686"> 1686</a> </span> :
3193 <span class="lineNum" id="container1687"><a name="1687"></a><a href="#1687" id="line1687"> 1687</a> </span><span class="lineCov"> 26 : $this-&gt;_cached = FALSE; </span>
3194 <span class="lineNum" id="container1688"><a name="1688"></a><a href="#1688" id="line1688"> 1688</a> </span> :
3195 <span class="lineNum" id="container1689"><a name="1689"></a><a href="#1689" id="line1689"> 1689</a> </span><span class="lineCov"> 26 : self::triggerEvent('before_query', array(&amp;$query, &amp;$documents, $use_cache)); </span>
3196 <span class="lineNum" id="container1690"><a name="1690"></a><a href="#1690" id="line1690"> 1690</a> </span> :
3197 <span class="lineNum" id="container1691"><a name="1691"></a><a href="#1691" id="line1691"> 1691</a> </span><span class="lineCov"> 26 : if ($documents InstanceOf MongoCursor &amp;&amp; $use_cache) { </span>
3198 <span class="lineNum" id="container1692"><a name="1692"></a><a href="#1692" id="line1692"> 1692</a> </span><span class="lineCov"> 6 : $this-&gt;_cached = TRUE; </span>
3199 <span class="lineNum" id="container1693"><a name="1693"></a><a href="#1693" id="line1693"> 1693</a> </span><span class="lineCov"> 6 : $this-&gt;setCursor($documents); </span>
3200 <span class="lineNum" id="container1694"><a name="1694"></a><a href="#1694" id="line1694"> 1694</a> </span><span class="lineCov"> 6 : return $this; </span>
3201 <span class="lineNum" id="container1695"><a name="1695"></a><a href="#1695" id="line1695"> 1695</a> </span><span class="lineDeadCode"> : } </span>
3202 <span class="lineNum" id="container1696"><a name="1696"></a><a href="#1696" id="line1696"> 1696</a> </span> :
3203 <span class="lineNum" id="container1697"><a name="1697"></a><a href="#1697" id="line1697"> 1697</a> </span><span class="lineCov"> 25 : $col = $this-&gt;_getCollection(); </span>
3204 <span class="lineNum" id="container1698"><a name="1698"></a><a href="#1698" id="line1698"> 1698</a> </span><span class="lineCov"> 25 : if (count($query['properties']) &gt; 0) { </span>
3205 <span class="lineNum" id="container1699"><a name="1699"></a><a href="#1699" id="line1699"> 1699</a> </span><span class="lineCov"> 3 : $cursor = $col-&gt;find($query['query'], $query['properties']); </span>
3206 <span class="lineNum" id="container1700"><a name="1700"></a><a href="#1700" id="line1700"> 1700</a> </span><span class="lineCov"> 3 : } else { </span>
3207 <span class="lineNum" id="container1701"><a name="1701"></a><a href="#1701" id="line1701"> 1701</a> </span><span class="lineCov"> 22 : $cursor = $col-&gt;find($query['query']); </span>
3208 <span class="lineNum" id="container1702"><a name="1702"></a><a href="#1702" id="line1702"> 1702</a> </span> : }
3209 <span class="lineNum" id="container1703"><a name="1703"></a><a href="#1703" id="line1703"> 1703</a> </span><span class="lineCov"> 25 : if (count($query['sort']) &gt; 0) { </span>
3210 <span class="lineNum" id="container1704"><a name="1704"></a><a href="#1704" id="line1704"> 1704</a> </span><span class="lineCov"> 3 : $cursor-&gt;sort($query['sort']); </span>
3211 <span class="lineNum" id="container1705"><a name="1705"></a><a href="#1705" id="line1705"> 1705</a> </span><span class="lineCov"> 3 : } </span>
3212 <span class="lineNum" id="container1706"><a name="1706"></a><a href="#1706" id="line1706"> 1706</a> </span><span class="lineCov"> 25 : if ($query['limit'] &gt; 0) { </span>
3213 <span class="lineNum" id="container1707"><a name="1707"></a><a href="#1707" id="line1707"> 1707</a> </span><span class="lineCov"> 3 : $cursor-&gt;limit($query['limit']); </span>
3214 <span class="lineNum" id="container1708"><a name="1708"></a><a href="#1708" id="line1708"> 1708</a> </span><span class="lineCov"> 3 : } </span>
3215 <span class="lineNum" id="container1709"><a name="1709"></a><a href="#1709" id="line1709"> 1709</a> </span><span class="lineCov"> 25 : if ($query['skip'] &gt; 0) { </span>
3216 <span class="lineNum" id="container1710"><a name="1710"></a><a href="#1710" id="line1710"> 1710</a> </span><span class="lineCov"> 3 : $cursor-&gt;skip($query['skip']); </span>
3217 <span class="lineNum" id="container1711"><a name="1711"></a><a href="#1711" id="line1711"> 1711</a> </span><span class="lineCov"> 3 : } </span>
3218 <span class="lineNum" id="container1712"><a name="1712"></a><a href="#1712" id="line1712"> 1712</a> </span> :
3219 <span class="lineNum" id="container1713"><a name="1713"></a><a href="#1713" id="line1713"> 1713</a> </span><span class="lineCov"> 25 : self::triggerEvent('after_query', array($query, $cursor)); </span>
3220 <span class="lineNum" id="container1714"><a name="1714"></a><a href="#1714" id="line1714"> 1714</a> </span> :
3221 <span class="lineNum" id="container1715"><a name="1715"></a><a href="#1715" id="line1715"> 1715</a> </span> : /* Our cursor must be sent to ActiveMongo */
3222 <span class="lineNum" id="container1716"><a name="1716"></a><a href="#1716" id="line1716"> 1716</a> </span><span class="lineCov"> 25 : $this-&gt;setCursor($cursor); </span>
3223 <span class="lineNum" id="container1717"><a name="1717"></a><a href="#1717" id="line1717"> 1717</a> </span> :
3224 <span class="lineNum" id="container1718"><a name="1718"></a><a href="#1718" id="line1718"> 1718</a> </span><span class="lineCov"> 25 : return $this; </span>
3225 <span class="lineNum" id="container1719"><a name="1719"></a><a href="#1719" id="line1719"> 1719</a> </span><span class="lineDeadCode"> : } </span>
3226 <span class="lineNum" id="container1720"><a name="1720"></a><a href="#1720" id="line1720"> 1720</a> </span> : // }}}
3227 <span class="lineNum" id="container1721"><a name="1721"></a><a href="#1721" id="line1721"> 1721</a> </span> :
3228 <span class="lineNum" id="container1722"><a name="1722"></a><a href="#1722" id="line1722"> 1722</a> </span> : // properties($props) {{{
3229 <span class="lineNum" id="container1723"><a name="1723"></a><a href="#1723" id="line1723"> 1723</a> </span> : /**
3230 <span class="lineNum" id="container1724"><a name="1724"></a><a href="#1724" id="line1724"> 1724</a> </span> : * Select 'properties' or 'columns' to be included in the document,
3231 <span class="lineNum" id="container1725"><a name="1725"></a><a href="#1725" id="line1725"> 1725</a> </span> : * by default all properties are included.
3232 <span class="lineNum" id="container1726"><a name="1726"></a><a href="#1726" id="line1726"> 1726</a> </span> : *
3233 <span class="lineNum" id="container1727"><a name="1727"></a><a href="#1727" id="line1727"> 1727</a> </span> : * @param array $props
3234 <span class="lineNum" id="container1728"><a name="1728"></a><a href="#1728" id="line1728"> 1728</a> </span> : *
3235 <span class="lineNum" id="container1729"><a name="1729"></a><a href="#1729" id="line1729"> 1729</a> </span> : * @return this
3236 <span class="lineNum" id="container1730"><a name="1730"></a><a href="#1730" id="line1730"> 1730</a> </span> : */
3237 <span class="lineNum" id="container1731"><a name="1731"></a><a href="#1731" id="line1731"> 1731</a> </span> : final function properties($props)
3238 <span class="lineNum" id="container1732"><a name="1732"></a><a href="#1732" id="line1732"> 1732</a> </span> : {
3239 <span class="lineNum" id="container1733"><a name="1733"></a><a href="#1733" id="line1733"> 1733</a> </span><span class="lineCov"> 4 : $this-&gt;_assertNotInQuery(); </span>
3240 <span class="lineNum" id="container1734"><a name="1734"></a><a href="#1734" id="line1734"> 1734</a> </span> :
3241 <span class="lineNum" id="container1735"><a name="1735"></a><a href="#1735" id="line1735"> 1735</a> </span><span class="lineCov"> 4 : if (!is_array($props) &amp;&amp; !is_string($props)) { </span>
3242 <span class="lineNum" id="container1736"><a name="1736"></a><a href="#1736" id="line1736"> 1736</a> </span><span class="lineCov"> 1 : return FALSE; </span>
3243 <span class="lineNum" id="container1737"><a name="1737"></a><a href="#1737" id="line1737"> 1737</a> </span><span class="lineDeadCode"> : } </span>
3244 <span class="lineNum" id="container1738"><a name="1738"></a><a href="#1738" id="line1738"> 1738</a> </span> :
3245 <span class="lineNum" id="container1739"><a name="1739"></a><a href="#1739" id="line1739"> 1739</a> </span><span class="lineCov"> 3 : if (is_string($props)) { </span>
3246 <span class="lineNum" id="container1740"><a name="1740"></a><a href="#1740" id="line1740"> 1740</a> </span><span class="lineCov"> 3 : $props = explode(&quot;,&quot;, $props); </span>
3247 <span class="lineNum" id="container1741"><a name="1741"></a><a href="#1741" id="line1741"> 1741</a> </span><span class="lineCov"> 3 : } </span>
3248 <span class="lineNum" id="container1742"><a name="1742"></a><a href="#1742" id="line1742"> 1742</a> </span> :
3249 <span class="lineNum" id="container1743"><a name="1743"></a><a href="#1743" id="line1743"> 1743</a> </span><span class="lineCov"> 3 : foreach ($props as $id =&gt; $name) { </span>
3250 <span class="lineNum" id="container1744"><a name="1744"></a><a href="#1744" id="line1744"> 1744</a> </span><span class="lineCov"> 3 : $props[trim($name)] = 1; </span>
3251 <span class="lineNum" id="container1745"><a name="1745"></a><a href="#1745" id="line1745"> 1745</a> </span><span class="lineCov"> 3 : unset($props[$id]); </span>
3252 <span class="lineNum" id="container1746"><a name="1746"></a><a href="#1746" id="line1746"> 1746</a> </span><span class="lineCov"> 3 : } </span>
3253 <span class="lineNum" id="container1747"><a name="1747"></a><a href="#1747" id="line1747"> 1747</a> </span> :
3254 <span class="lineNum" id="container1748"><a name="1748"></a><a href="#1748" id="line1748"> 1748</a> </span> :
3255 <span class="lineNum" id="container1749"><a name="1749"></a><a href="#1749" id="line1749"> 1749</a> </span> : /* _id should always be included */
3256 <span class="lineNum" id="container1750"><a name="1750"></a><a href="#1750" id="line1750"> 1750</a> </span><span class="lineCov"> 3 : $props['_id'] = 1; </span>
3257 <span class="lineNum" id="container1751"><a name="1751"></a><a href="#1751" id="line1751"> 1751</a> </span> :
3258 <span class="lineNum" id="container1752"><a name="1752"></a><a href="#1752" id="line1752"> 1752</a> </span><span class="lineCov"> 3 : $this-&gt;_properties = $props; </span>
3259 <span class="lineNum" id="container1753"><a name="1753"></a><a href="#1753" id="line1753"> 1753</a> </span> :
3260 <span class="lineNum" id="container1754"><a name="1754"></a><a href="#1754" id="line1754"> 1754</a> </span><span class="lineCov"> 3 : return $this; </span>
3261 <span class="lineNum" id="container1755"><a name="1755"></a><a href="#1755" id="line1755"> 1755</a> </span><span class="lineDeadCode"> : } </span>
3262 <span class="lineNum" id="container1756"><a name="1756"></a><a href="#1756" id="line1756"> 1756</a> </span> :
3263 <span class="lineNum" id="container1757"><a name="1757"></a><a href="#1757" id="line1757"> 1757</a> </span> : final function columns($properties)
3264 <span class="lineNum" id="container1758"><a name="1758"></a><a href="#1758" id="line1758"> 1758</a> </span> : {
3265 <span class="lineNum" id="container1759"><a name="1759"></a><a href="#1759" id="line1759"> 1759</a> </span><span class="lineCov"> 1 : return $this-&gt;properties($properties); </span>
3266 <span class="lineNum" id="container1760"><a name="1760"></a><a href="#1760" id="line1760"> 1760</a> </span><span class="lineDeadCode"> : } </span>
3267 <span class="lineNum" id="container1761"><a name="1761"></a><a href="#1761" id="line1761"> 1761</a> </span> : // }}}
3268 <span class="lineNum" id="container1762"><a name="1762"></a><a href="#1762" id="line1762"> 1762</a> </span> :
3269 <span class="lineNum" id="container1763"><a name="1763"></a><a href="#1763" id="line1763"> 1763</a> </span> : // where($property, $value) {{{
3270 <span class="lineNum" id="container1764"><a name="1764"></a><a href="#1764" id="line1764"> 1764</a> </span> : /**
3271 <span class="lineNum" id="container1765"><a name="1765"></a><a href="#1765" id="line1765"> 1765</a> </span> : * Where abstraction.
3272 <span class="lineNum" id="container1766"><a name="1766"></a><a href="#1766" id="line1766"> 1766</a> </span> : *
3273 <span class="lineNum" id="container1767"><a name="1767"></a><a href="#1767" id="line1767"> 1767</a> </span> : */
3274 <span class="lineNum" id="container1768"><a name="1768"></a><a href="#1768" id="line1768"> 1768</a> </span> : final function where($property_str, $value=NULL)
3275 <span class="lineNum" id="container1769"><a name="1769"></a><a href="#1769" id="line1769"> 1769</a> </span> : {
3276 <span class="lineNum" id="container1770"><a name="1770"></a><a href="#1770" id="line1770"> 1770</a> </span><span class="lineCov"> 23 : $this-&gt;_assertNotInQuery(); </span>
3277 <span class="lineNum" id="container1771"><a name="1771"></a><a href="#1771" id="line1771"> 1771</a> </span> :
3278 <span class="lineNum" id="container1772"><a name="1772"></a><a href="#1772" id="line1772"> 1772</a> </span><span class="lineCov"> 22 : if (is_array($property_str)) { </span>
3279 <span class="lineNum" id="container1773"><a name="1773"></a><a href="#1773" id="line1773"> 1773</a> </span><span class="lineCov"> 4 : if ($value != NULL) { </span>
3280 <span class="lineNum" id="container1774"><a name="1774"></a><a href="#1774" id="line1774"> 1774</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Invalid parameters&quot;); </span>
3281 <span class="lineNum" id="container1775"><a name="1775"></a><a href="#1775" id="line1775"> 1775</a> </span><span class="lineDeadCode"> : } </span>
3282 <span class="lineNum" id="container1776"><a name="1776"></a><a href="#1776" id="line1776"> 1776</a> </span><span class="lineCov"> 3 : foreach ($property_str as $property =&gt; $value) { </span>
3283 <span class="lineNum" id="container1777"><a name="1777"></a><a href="#1777" id="line1777"> 1777</a> </span><span class="lineCov"> 3 : if (is_numeric($property)) { </span>
3284 <span class="lineNum" id="container1778"><a name="1778"></a><a href="#1778" id="line1778"> 1778</a> </span><span class="lineCov"> 1 : $property = $value; </span>
3285 <span class="lineNum" id="container1779"><a name="1779"></a><a href="#1779" id="line1779"> 1779</a> </span><span class="lineCov"> 1 : $value = NULL; </span>
3286 <span class="lineNum" id="container1780"><a name="1780"></a><a href="#1780" id="line1780"> 1780</a> </span><span class="lineCov"> 1 : } </span>
3287 <span class="lineNum" id="container1781"><a name="1781"></a><a href="#1781" id="line1781"> 1781</a> </span><span class="lineCov"> 3 : $this-&gt;where($property, $value); </span>
3288 <span class="lineNum" id="container1782"><a name="1782"></a><a href="#1782" id="line1782"> 1782</a> </span><span class="lineCov"> 3 : } </span>
3289 <span class="lineNum" id="container1783"><a name="1783"></a><a href="#1783" id="line1783"> 1783</a> </span><span class="lineCov"> 3 : return $this; </span>
3290 <span class="lineNum" id="container1784"><a name="1784"></a><a href="#1784" id="line1784"> 1784</a> </span><span class="lineDeadCode"> : } </span>
3291 <span class="lineNum" id="container1785"><a name="1785"></a><a href="#1785" id="line1785"> 1785</a> </span> :
3292 <span class="lineNum" id="container1786"><a name="1786"></a><a href="#1786" id="line1786"> 1786</a> </span><span class="lineCov"> 22 : $column = explode(&quot; &quot;, trim($property_str)); </span>
3293 <span class="lineNum" id="container1787"><a name="1787"></a><a href="#1787" id="line1787"> 1787</a> </span><span class="lineCov"> 22 : if (count($column) != 1 &amp;&amp; count($column) != 2) { </span>
3294 <span class="lineNum" id="container1788"><a name="1788"></a><a href="#1788" id="line1788"> 1788</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Failed while parsing '{$property_str}'&quot;); </span>
3295 <span class="lineNum" id="container1789"><a name="1789"></a><a href="#1789" id="line1789"> 1789</a> </span><span class="lineCov"> 21 : } else if (count($column) == 2) { </span>
3296 <span class="lineNum" id="container1790"><a name="1790"></a><a href="#1790" id="line1790"> 1790</a> </span> :
3297 <span class="lineNum" id="container1791"><a name="1791"></a><a href="#1791" id="line1791"> 1791</a> </span><span class="lineCov"> 13 : $exp_scalar = TRUE; </span>
3298 <span class="lineNum" id="container1792"><a name="1792"></a><a href="#1792" id="line1792"> 1792</a> </span><span class="lineCov"> 13 : switch (strtolower($column[1])) { </span>
3299 <span class="lineNum" id="container1793"><a name="1793"></a><a href="#1793" id="line1793"> 1793</a> </span><span class="lineCov"> 13 : case '&gt;': </span>
3300 <span class="lineNum" id="container1794"><a name="1794"></a><a href="#1794" id="line1794"> 1794</a> </span><span class="lineCov"> 13 : case '$gt': </span>
3301 <span class="lineNum" id="container1795"><a name="1795"></a><a href="#1795" id="line1795"> 1795</a> </span><span class="lineCov"> 5 : $op = '$gt'; </span>
3302 <span class="lineNum" id="container1796"><a name="1796"></a><a href="#1796" id="line1796"> 1796</a> </span><span class="lineCov"> 5 : break; </span>
3303 <span class="lineNum" id="container1797"><a name="1797"></a><a href="#1797" id="line1797"> 1797</a> </span> :
3304 <span class="lineNum" id="container1798"><a name="1798"></a><a href="#1798" id="line1798"> 1798</a> </span><span class="lineCov"> 13 : case '&gt;=': </span>
3305 <span class="lineNum" id="container1799"><a name="1799"></a><a href="#1799" id="line1799"> 1799</a> </span><span class="lineCov"> 13 : case '$gte': </span>
3306 <span class="lineNum" id="container1800"><a name="1800"></a><a href="#1800" id="line1800"> 1800</a> </span><span class="lineCov"> 1 : $op = '$gte'; </span>
3307 <span class="lineNum" id="container1801"><a name="1801"></a><a href="#1801" id="line1801"> 1801</a> </span><span class="lineCov"> 1 : break; </span>
3308 <span class="lineNum" id="container1802"><a name="1802"></a><a href="#1802" id="line1802"> 1802</a> </span> :
3309 <span class="lineNum" id="container1803"><a name="1803"></a><a href="#1803" id="line1803"> 1803</a> </span><span class="lineCov"> 13 : case '&lt;': </span>
3310 <span class="lineNum" id="container1804"><a name="1804"></a><a href="#1804" id="line1804"> 1804</a> </span><span class="lineCov"> 13 : case '$lt': </span>
3311 <span class="lineNum" id="container1805"><a name="1805"></a><a href="#1805" id="line1805"> 1805</a> </span><span class="lineCov"> 5 : $op = '$lt'; </span>
3312 <span class="lineNum" id="container1806"><a name="1806"></a><a href="#1806" id="line1806"> 1806</a> </span><span class="lineCov"> 5 : break; </span>
3313 <span class="lineNum" id="container1807"><a name="1807"></a><a href="#1807" id="line1807"> 1807</a> </span> :
3314 <span class="lineNum" id="container1808"><a name="1808"></a><a href="#1808" id="line1808"> 1808</a> </span><span class="lineCov"> 12 : case '&lt;=': </span>
3315 <span class="lineNum" id="container1809"><a name="1809"></a><a href="#1809" id="line1809"> 1809</a> </span><span class="lineCov"> 12 : case '$lte': </span>
3316 <span class="lineNum" id="container1810"><a name="1810"></a><a href="#1810" id="line1810"> 1810</a> </span><span class="lineCov"> 2 : $op = '$lte'; </span>
3317 <span class="lineNum" id="container1811"><a name="1811"></a><a href="#1811" id="line1811"> 1811</a> </span><span class="lineCov"> 2 : break; </span>
3318 <span class="lineNum" id="container1812"><a name="1812"></a><a href="#1812" id="line1812"> 1812</a> </span> :
3319 <span class="lineNum" id="container1813"><a name="1813"></a><a href="#1813" id="line1813"> 1813</a> </span><span class="lineCov"> 12 : case '==': </span>
3320 <span class="lineNum" id="container1814"><a name="1814"></a><a href="#1814" id="line1814"> 1814</a> </span><span class="lineCov"> 12 : case '$eq': </span>
3321 <span class="lineNum" id="container1815"><a name="1815"></a><a href="#1815" id="line1815"> 1815</a> </span><span class="lineCov"> 12 : case '=': </span>
3322 <span class="lineNum" id="container1816"><a name="1816"></a><a href="#1816" id="line1816"> 1816</a> </span><span class="lineCov"> 2 : if (is_array($value)) { </span>
3323 <span class="lineNum" id="container1817"><a name="1817"></a><a href="#1817" id="line1817"> 1817</a> </span><span class="lineCov"> 2 : $op = '$all'; </span>
3324 <span class="lineNum" id="container1818"><a name="1818"></a><a href="#1818" id="line1818"> 1818</a> </span><span class="lineCov"> 2 : $exp_scalar = FALSE; </span>
3325 <span class="lineNum" id="container1819"><a name="1819"></a><a href="#1819" id="line1819"> 1819</a> </span><span class="lineCov"> 2 : } else { </span>
3326 <span class="lineNum" id="container1820"><a name="1820"></a><a href="#1820" id="line1820"> 1820</a> </span><span class="lineCov"> 1 : $op = NULL; </span>
3327 <span class="lineNum" id="container1821"><a name="1821"></a><a href="#1821" id="line1821"> 1821</a> </span> : }
3328 <span class="lineNum" id="container1822"><a name="1822"></a><a href="#1822" id="line1822"> 1822</a> </span><span class="lineCov"> 2 : break; </span>
3329 <span class="lineNum" id="container1823"><a name="1823"></a><a href="#1823" id="line1823"> 1823</a> </span> :
3330 <span class="lineNum" id="container1824"><a name="1824"></a><a href="#1824" id="line1824"> 1824</a> </span><span class="lineCov"> 12 : case '!=': </span>
3331 <span class="lineNum" id="container1825"><a name="1825"></a><a href="#1825" id="line1825"> 1825</a> </span><span class="lineCov"> 12 : case '&lt;&gt;': </span>
3332 <span class="lineNum" id="container1826"><a name="1826"></a><a href="#1826" id="line1826"> 1826</a> </span><span class="lineCov"> 12 : case '$ne': </span>
3333 <span class="lineNum" id="container1827"><a name="1827"></a><a href="#1827" id="line1827"> 1827</a> </span><span class="lineCov"> 3 : if (is_array($value)) { </span>
3334 <span class="lineNum" id="container1828"><a name="1828"></a><a href="#1828" id="line1828"> 1828</a> </span><span class="lineCov"> 1 : $op = '$nin'; </span>
3335 <span class="lineNum" id="container1829"><a name="1829"></a><a href="#1829" id="line1829"> 1829</a> </span><span class="lineCov"> 1 : $exp_scalar = FALSE; </span>
3336 <span class="lineNum" id="container1830"><a name="1830"></a><a href="#1830" id="line1830"> 1830</a> </span><span class="lineCov"> 1 : } else { </span>
3337 <span class="lineNum" id="container1831"><a name="1831"></a><a href="#1831" id="line1831"> 1831</a> </span><span class="lineCov"> 3 : $op = '$ne'; </span>
3338 <span class="lineNum" id="container1832"><a name="1832"></a><a href="#1832" id="line1832"> 1832</a> </span> : }
3339 <span class="lineNum" id="container1833"><a name="1833"></a><a href="#1833" id="line1833"> 1833</a> </span><span class="lineCov"> 3 : break; </span>
3340 <span class="lineNum" id="container1834"><a name="1834"></a><a href="#1834" id="line1834"> 1834</a> </span> :
3341 <span class="lineNum" id="container1835"><a name="1835"></a><a href="#1835" id="line1835"> 1835</a> </span><span class="lineCov"> 11 : case '%': </span>
3342 <span class="lineNum" id="container1836"><a name="1836"></a><a href="#1836" id="line1836"> 1836</a> </span><span class="lineCov"> 11 : case 'mod': </span>
3343 <span class="lineNum" id="container1837"><a name="1837"></a><a href="#1837" id="line1837"> 1837</a> </span><span class="lineCov"> 11 : case '$mod': </span>
3344 <span class="lineNum" id="container1838"><a name="1838"></a><a href="#1838" id="line1838"> 1838</a> </span><span class="lineCov"> 1 : $op = '$mod'; </span>
3345 <span class="lineNum" id="container1839"><a name="1839"></a><a href="#1839" id="line1839"> 1839</a> </span><span class="lineCov"> 1 : $exp_scalar = FALSE; </span>
3346 <span class="lineNum" id="container1840"><a name="1840"></a><a href="#1840" id="line1840"> 1840</a> </span><span class="lineCov"> 1 : break; </span>
3347 <span class="lineNum" id="container1841"><a name="1841"></a><a href="#1841" id="line1841"> 1841</a> </span> :
3348 <span class="lineNum" id="container1842"><a name="1842"></a><a href="#1842" id="line1842"> 1842</a> </span><span class="lineCov"> 10 : case 'exists': </span>
3349 <span class="lineNum" id="container1843"><a name="1843"></a><a href="#1843" id="line1843"> 1843</a> </span><span class="lineCov"> 10 : case '$exists': </span>
3350 <span class="lineNum" id="container1844"><a name="1844"></a><a href="#1844" id="line1844"> 1844</a> </span><span class="lineCov"> 3 : if ($value === NULL) { </span>
3351 <span class="lineNum" id="container1845"><a name="1845"></a><a href="#1845" id="line1845"> 1845</a> </span><span class="lineCov"> 1 : $value = 1; </span>
3352 <span class="lineNum" id="container1846"><a name="1846"></a><a href="#1846" id="line1846"> 1846</a> </span><span class="lineCov"> 1 : } </span>
3353 <span class="lineNum" id="container1847"><a name="1847"></a><a href="#1847" id="line1847"> 1847</a> </span><span class="lineCov"> 3 : $op = '$exists'; </span>
3354 <span class="lineNum" id="container1848"><a name="1848"></a><a href="#1848" id="line1848"> 1848</a> </span><span class="lineCov"> 3 : break; </span>
3355 <span class="lineNum" id="container1849"><a name="1849"></a><a href="#1849" id="line1849"> 1849</a> </span> :
3356 <span class="lineNum" id="container1850"><a name="1850"></a><a href="#1850" id="line1850"> 1850</a> </span> : /* regexp */
3357 <span class="lineNum" id="container1851"><a name="1851"></a><a href="#1851" id="line1851"> 1851</a> </span><span class="lineCov"> 8 : case 'regexp': </span>
3358 <span class="lineNum" id="container1852"><a name="1852"></a><a href="#1852" id="line1852"> 1852</a> </span><span class="lineCov"> 8 : case 'regex': </span>
3359 <span class="lineNum" id="container1853"><a name="1853"></a><a href="#1853" id="line1853"> 1853</a> </span><span class="lineCov"> 3 : $value = new MongoRegex($value); </span>
3360 <span class="lineNum" id="container1854"><a name="1854"></a><a href="#1854" id="line1854"> 1854</a> </span><span class="lineCov"> 3 : $op = NULL; </span>
3361 <span class="lineNum" id="container1855"><a name="1855"></a><a href="#1855" id="line1855"> 1855</a> </span><span class="lineCov"> 3 : break; </span>
3362 <span class="lineNum" id="container1856"><a name="1856"></a><a href="#1856" id="line1856"> 1856</a> </span> :
3363 <span class="lineNum" id="container1857"><a name="1857"></a><a href="#1857" id="line1857"> 1857</a> </span> : /* arrays */
3364 <span class="lineNum" id="container1858"><a name="1858"></a><a href="#1858" id="line1858"> 1858</a> </span><span class="lineCov"> 8 : case 'in': </span>
3365 <span class="lineNum" id="container1859"><a name="1859"></a><a href="#1859" id="line1859"> 1859</a> </span><span class="lineCov"> 8 : case '$in': </span>
3366 <span class="lineNum" id="container1860"><a name="1860"></a><a href="#1860" id="line1860"> 1860</a> </span><span class="lineCov"> 7 : $exp_scalar = FALSE; </span>
3367 <span class="lineNum" id="container1861"><a name="1861"></a><a href="#1861" id="line1861"> 1861</a> </span><span class="lineCov"> 7 : $op = '$in'; </span>
3368 <span class="lineNum" id="container1862"><a name="1862"></a><a href="#1862" id="line1862"> 1862</a> </span><span class="lineCov"> 7 : break; </span>
3369 <span class="lineNum" id="container1863"><a name="1863"></a><a href="#1863" id="line1863"> 1863</a> </span> :
3370 <span class="lineNum" id="container1864"><a name="1864"></a><a href="#1864" id="line1864"> 1864</a> </span><span class="lineCov"> 4 : case '$nin': </span>
3371 <span class="lineNum" id="container1865"><a name="1865"></a><a href="#1865" id="line1865"> 1865</a> </span><span class="lineCov"> 4 : case 'nin': </span>
3372 <span class="lineNum" id="container1866"><a name="1866"></a><a href="#1866" id="line1866"> 1866</a> </span><span class="lineCov"> 4 : $exp_scalar = FALSE; </span>
3373 <span class="lineNum" id="container1867"><a name="1867"></a><a href="#1867" id="line1867"> 1867</a> </span><span class="lineCov"> 4 : $op = '$nin'; </span>
3374 <span class="lineNum" id="container1868"><a name="1868"></a><a href="#1868" id="line1868"> 1868</a> </span><span class="lineCov"> 4 : break; </span>
3375 <span class="lineNum" id="container1869"><a name="1869"></a><a href="#1869" id="line1869"> 1869</a> </span> :
3376 <span class="lineNum" id="container1870"><a name="1870"></a><a href="#1870" id="line1870"> 1870</a> </span> :
3377 <span class="lineNum" id="container1871"><a name="1871"></a><a href="#1871" id="line1871"> 1871</a> </span> : /* geo operations */
3378 <span class="lineNum" id="container1872"><a name="1872"></a><a href="#1872" id="line1872"> 1872</a> </span><span class="lineCov"> 1 : case 'near': </span>
3379 <span class="lineNum" id="container1873"><a name="1873"></a><a href="#1873" id="line1873"> 1873</a> </span><span class="lineCov"> 1 : case '$near': </span>
3380 <span class="lineNum" id="container1874"><a name="1874"></a><a href="#1874" id="line1874"> 1874</a> </span><span class="lineCov"> 1 : $op = '$near'; </span>
3381 <span class="lineNum" id="container1875"><a name="1875"></a><a href="#1875" id="line1875"> 1875</a> </span><span class="lineCov"> 1 : $exp_scalar = FALSE; </span>
3382 <span class="lineNum" id="container1876"><a name="1876"></a><a href="#1876" id="line1876"> 1876</a> </span><span class="lineCov"> 1 : break; </span>
3383 <span class="lineNum" id="container1877"><a name="1877"></a><a href="#1877" id="line1877"> 1877</a> </span> :
3384 <span class="lineNum" id="container1878"><a name="1878"></a><a href="#1878" id="line1878"> 1878</a> </span><span class="lineCov"> 1 : default: </span>
3385 <span class="lineNum" id="container1879"><a name="1879"></a><a href="#1879" id="line1879"> 1879</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Failed to parse '{$column[1]}'&quot;); </span>
3386 <span class="lineNum" id="container1880"><a name="1880"></a><a href="#1880" id="line1880"> 1880</a> </span><span class="lineCov"> 13 : } </span>
3387 <span class="lineNum" id="container1881"><a name="1881"></a><a href="#1881" id="line1881"> 1881</a> </span> :
3388 <span class="lineNum" id="container1882"><a name="1882"></a><a href="#1882" id="line1882"> 1882</a> </span><span class="lineCov"> 13 : if ($exp_scalar &amp;&amp; is_array($value)) { </span>
3389 <span class="lineNum" id="container1883"><a name="1883"></a><a href="#1883" id="line1883"> 1883</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Cannot use comparing operations with Array&quot;); </span>
3390 <span class="lineNum" id="container1884"><a name="1884"></a><a href="#1884" id="line1884"> 1884</a> </span><span class="lineCov"> 13 : } else if (!$exp_scalar &amp;&amp; !is_array($value)) { </span>
3391 <span class="lineNum" id="container1885"><a name="1885"></a><a href="#1885" id="line1885"> 1885</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;The operation {$column[1]} expected an Array&quot;); </span>
3392 <span class="lineNum" id="container1886"><a name="1886"></a><a href="#1886" id="line1886"> 1886</a> </span><span class="lineDeadCode"> : } </span>
3393 <span class="lineNum" id="container1887"><a name="1887"></a><a href="#1887" id="line1887"> 1887</a> </span> :
3394 <span class="lineNum" id="container1888"><a name="1888"></a><a href="#1888" id="line1888"> 1888</a> </span><span class="lineCov"> 12 : if ($op) { </span>
3395 <span class="lineNum" id="container1889"><a name="1889"></a><a href="#1889" id="line1889"> 1889</a> </span><span class="lineCov"> 12 : $value = array($op =&gt; $value); </span>
3396 <span class="lineNum" id="container1890"><a name="1890"></a><a href="#1890" id="line1890"> 1890</a> </span><span class="lineCov"> 12 : } </span>
3397 <span class="lineNum" id="container1891"><a name="1891"></a><a href="#1891" id="line1891"> 1891</a> </span><span class="lineCov"> 20 : } else if (is_array($value)) { </span>
3398 <span class="lineNum" id="container1892"><a name="1892"></a><a href="#1892" id="line1892"> 1892</a> </span><span class="lineCov"> 1 : $value = array('$in' =&gt; $value); </span>
3399 <span class="lineNum" id="container1893"><a name="1893"></a><a href="#1893" id="line1893"> 1893</a> </span><span class="lineCov"> 1 : } </span>
3400 <span class="lineNum" id="container1894"><a name="1894"></a><a href="#1894" id="line1894"> 1894</a> </span> :
3401 <span class="lineNum" id="container1895"><a name="1895"></a><a href="#1895" id="line1895"> 1895</a> </span><span class="lineCov"> 20 : $spot = &amp; $this-&gt;_query[$column[0]]; </span>
3402 <span class="lineNum" id="container1896"><a name="1896"></a><a href="#1896" id="line1896"> 1896</a> </span><span class="lineCov"> 20 : if (is_array($spot) &amp;&amp; is_array($value)) { </span>
3403 <span class="lineNum" id="container1897"><a name="1897"></a><a href="#1897" id="line1897"> 1897</a> </span><span class="lineCov"> 4 : $spot[key($value)] = current($value); </span>
3404 <span class="lineNum" id="container1898"><a name="1898"></a><a href="#1898" id="line1898"> 1898</a> </span><span class="lineCov"> 4 : } else { </span>
3405 <span class="lineNum" id="container1899"><a name="1899"></a><a href="#1899" id="line1899"> 1899</a> </span> : /* simulate AND among same properties if
3406 <span class="lineNum" id="container1900"><a name="1900"></a><a href="#1900" id="line1900"> 1900</a> </span> : * multiple values is passed for same property
3407 <span class="lineNum" id="container1901"><a name="1901"></a><a href="#1901" id="line1901"> 1901</a> </span> : */
3408 <span class="lineNum" id="container1902"><a name="1902"></a><a href="#1902" id="line1902"> 1902</a> </span><span class="lineCov"> 20 : if (isset($spot)) { </span>
3409 <span class="lineNum" id="container1903"><a name="1903"></a><a href="#1903" id="line1903"> 1903</a> </span><span class="lineCov"> 1 : if (is_array($spot)) { </span>
3410 <span class="lineNum" id="container1904"><a name="1904"></a><a href="#1904" id="line1904"> 1904</a> </span><span class="lineCov"> 1 : $spot['$all'][] = $value; </span>
3411 <span class="lineNum" id="container1905"><a name="1905"></a><a href="#1905" id="line1905"> 1905</a> </span><span class="lineCov"> 1 : } else { </span>
3412 <span class="lineNum" id="container1906"><a name="1906"></a><a href="#1906" id="line1906"> 1906</a> </span><span class="lineCov"> 1 : $spot = array('$all' =&gt; array($spot, $value)); </span>
3413 <span class="lineNum" id="container1907"><a name="1907"></a><a href="#1907" id="line1907"> 1907</a> </span> : }
3414 <span class="lineNum" id="container1908"><a name="1908"></a><a href="#1908" id="line1908"> 1908</a> </span><span class="lineCov"> 1 : } else { </span>
3415 <span class="lineNum" id="container1909"><a name="1909"></a><a href="#1909" id="line1909"> 1909</a> </span><span class="lineCov"> 20 : $spot = $value; </span>
3416 <span class="lineNum" id="container1910"><a name="1910"></a><a href="#1910" id="line1910"> 1910</a> </span> : }
3417 <span class="lineNum" id="container1911"><a name="1911"></a><a href="#1911" id="line1911"> 1911</a> </span> : }
3418 <span class="lineNum" id="container1912"><a name="1912"></a><a href="#1912" id="line1912"> 1912</a> </span> :
3419 <span class="lineNum" id="container1913"><a name="1913"></a><a href="#1913" id="line1913"> 1913</a> </span><span class="lineCov"> 20 : return $this; </span>
3420 <span class="lineNum" id="container1914"><a name="1914"></a><a href="#1914" id="line1914"> 1914</a> </span><span class="lineDeadCode"> : } </span>
3421 <span class="lineNum" id="container1915"><a name="1915"></a><a href="#1915" id="line1915"> 1915</a> </span> : // }}}
3422 <span class="lineNum" id="container1916"><a name="1916"></a><a href="#1916" id="line1916"> 1916</a> </span> :
3423 <span class="lineNum" id="container1917"><a name="1917"></a><a href="#1917" id="line1917"> 1917</a> </span> : // sort($sort_str) {{{
3424 <span class="lineNum" id="container1918"><a name="1918"></a><a href="#1918" id="line1918"> 1918</a> </span> : /**
3425 <span class="lineNum" id="container1919"><a name="1919"></a><a href="#1919" id="line1919"> 1919</a> </span> : * Abstract the documents sorting.
3426 <span class="lineNum" id="container1920"><a name="1920"></a><a href="#1920" id="line1920"> 1920</a> </span> : *
3427 <span class="lineNum" id="container1921"><a name="1921"></a><a href="#1921" id="line1921"> 1921</a> </span> : * @param string $sort_str List of properties to use as sorting
3428 <span class="lineNum" id="container1922"><a name="1922"></a><a href="#1922" id="line1922"> 1922</a> </span> : *
3429 <span class="lineNum" id="container1923"><a name="1923"></a><a href="#1923" id="line1923"> 1923</a> </span> : * @return this
3430 <span class="lineNum" id="container1924"><a name="1924"></a><a href="#1924" id="line1924"> 1924</a> </span> : */
3431 <span class="lineNum" id="container1925"><a name="1925"></a><a href="#1925" id="line1925"> 1925</a> </span> : final function sort($sort_str)
3432 <span class="lineNum" id="container1926"><a name="1926"></a><a href="#1926" id="line1926"> 1926</a> </span> : {
3433 <span class="lineNum" id="container1927"><a name="1927"></a><a href="#1927" id="line1927"> 1927</a> </span><span class="lineCov"> 6 : $this-&gt;_assertNotInQuery(); </span>
3434 <span class="lineNum" id="container1928"><a name="1928"></a><a href="#1928" id="line1928"> 1928</a> </span> :
3435 <span class="lineNum" id="container1929"><a name="1929"></a><a href="#1929" id="line1929"> 1929</a> </span><span class="lineCov"> 6 : $this-&gt;_sort = array(); </span>
3436 <span class="lineNum" id="container1930"><a name="1930"></a><a href="#1930" id="line1930"> 1930</a> </span><span class="lineCov"> 6 : foreach ((array)explode(&quot;,&quot;, $sort_str) as $sort_part_str) { </span>
3437 <span class="lineNum" id="container1931"><a name="1931"></a><a href="#1931" id="line1931"> 1931</a> </span><span class="lineCov"> 6 : $sort_part = explode(&quot; &quot;, trim($sort_part_str), 2); </span>
3438 <span class="lineNum" id="container1932"><a name="1932"></a><a href="#1932" id="line1932"> 1932</a> </span><span class="lineCov"> 6 : switch(count($sort_part)) { </span>
3439 <span class="lineNum" id="container1933"><a name="1933"></a><a href="#1933" id="line1933"> 1933</a> </span><span class="lineCov"> 6 : case 1: </span>
3440 <span class="lineNum" id="container1934"><a name="1934"></a><a href="#1934" id="line1934"> 1934</a> </span><span class="lineCov"> 1 : $sort_part[1] = 'ASC'; </span>
3441 <span class="lineNum" id="container1935"><a name="1935"></a><a href="#1935" id="line1935"> 1935</a> </span><span class="lineCov"> 1 : break; </span>
3442 <span class="lineNum" id="container1936"><a name="1936"></a><a href="#1936" id="line1936"> 1936</a> </span><span class="lineCov"> 6 : case 2: </span>
3443 <span class="lineNum" id="container1937"><a name="1937"></a><a href="#1937" id="line1937"> 1937</a> </span><span class="lineCov"> 6 : break; </span>
3444 <span class="lineNum" id="container1938"><a name="1938"></a><a href="#1938" id="line1938"> 1938</a> </span><span class="lineNoCov"> 0 : default: </span>
3445 <span class="lineNum" id="container1939"><a name="1939"></a><a href="#1939" id="line1939"> 1939</a> </span><span class="lineNoCov"> 0 : throw new ActiveMongo_Exception(&quot;Don't know how to parse {$sort_part_str}&quot;); </span>
3446 <span class="lineNum" id="container1940"><a name="1940"></a><a href="#1940" id="line1940"> 1940</a> </span><span class="lineCov"> 6 : } </span>
3447 <span class="lineNum" id="container1941"><a name="1941"></a><a href="#1941" id="line1941"> 1941</a> </span> :
3448 <span class="lineNum" id="container1942"><a name="1942"></a><a href="#1942" id="line1942"> 1942</a> </span> : /* Columns name can't be empty */
3449 <span class="lineNum" id="container1943"><a name="1943"></a><a href="#1943" id="line1943"> 1943</a> </span><span class="lineCov"> 6 : if (!trim($sort_part[0])) { </span>
3450 <span class="lineNum" id="container1944"><a name="1944"></a><a href="#1944" id="line1944"> 1944</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Don't know how to parse {$sort_part_str}&quot;); </span>
3451 <span class="lineNum" id="container1945"><a name="1945"></a><a href="#1945" id="line1945"> 1945</a> </span><span class="lineDeadCode"> : } </span>
3452 <span class="lineNum" id="container1946"><a name="1946"></a><a href="#1946" id="line1946"> 1946</a> </span> :
3453 <span class="lineNum" id="container1947"><a name="1947"></a><a href="#1947" id="line1947"> 1947</a> </span><span class="lineCov"> 6 : switch (strtoupper($sort_part[1])) { </span>
3454 <span class="lineNum" id="container1948"><a name="1948"></a><a href="#1948" id="line1948"> 1948</a> </span><span class="lineCov"> 6 : case 'ASC': </span>
3455 <span class="lineNum" id="container1949"><a name="1949"></a><a href="#1949" id="line1949"> 1949</a> </span><span class="lineCov"> 3 : $sort_part[1] = 1; </span>
3456 <span class="lineNum" id="container1950"><a name="1950"></a><a href="#1950" id="line1950"> 1950</a> </span><span class="lineCov"> 3 : break; </span>
3457 <span class="lineNum" id="container1951"><a name="1951"></a><a href="#1951" id="line1951"> 1951</a> </span><span class="lineCov"> 6 : case 'DESC': </span>
3458 <span class="lineNum" id="container1952"><a name="1952"></a><a href="#1952" id="line1952"> 1952</a> </span><span class="lineCov"> 6 : $sort_part[1] = -1; </span>
3459 <span class="lineNum" id="container1953"><a name="1953"></a><a href="#1953" id="line1953"> 1953</a> </span><span class="lineCov"> 6 : break; </span>
3460 <span class="lineNum" id="container1954"><a name="1954"></a><a href="#1954" id="line1954"> 1954</a> </span><span class="lineCov"> 1 : default: </span>
3461 <span class="lineNum" id="container1955"><a name="1955"></a><a href="#1955" id="line1955"> 1955</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Invalid sorting direction `{$sort_part[1]}`&quot;); </span>
3462 <span class="lineNum" id="container1956"><a name="1956"></a><a href="#1956" id="line1956"> 1956</a> </span><span class="lineCov"> 6 : } </span>
3463 <span class="lineNum" id="container1957"><a name="1957"></a><a href="#1957" id="line1957"> 1957</a> </span><span class="lineCov"> 6 : $this-&gt;_sort[ $sort_part[0] ] = $sort_part[1]; </span>
3464 <span class="lineNum" id="container1958"><a name="1958"></a><a href="#1958" id="line1958"> 1958</a> </span><span class="lineCov"> 6 : } </span>
3465 <span class="lineNum" id="container1959"><a name="1959"></a><a href="#1959" id="line1959"> 1959</a> </span> :
3466 <span class="lineNum" id="container1960"><a name="1960"></a><a href="#1960" id="line1960"> 1960</a> </span><span class="lineCov"> 6 : return $this; </span>
3467 <span class="lineNum" id="container1961"><a name="1961"></a><a href="#1961" id="line1961"> 1961</a> </span><span class="lineDeadCode"> : } </span>
3468 <span class="lineNum" id="container1962"><a name="1962"></a><a href="#1962" id="line1962"> 1962</a> </span> : // }}}
3469 <span class="lineNum" id="container1963"><a name="1963"></a><a href="#1963" id="line1963"> 1963</a> </span> :
3470 <span class="lineNum" id="container1964"><a name="1964"></a><a href="#1964" id="line1964"> 1964</a> </span> : // limit($limit, $skip) {{{
3471 <span class="lineNum" id="container1965"><a name="1965"></a><a href="#1965" id="line1965"> 1965</a> </span> : /**
3472 <span class="lineNum" id="container1966"><a name="1966"></a><a href="#1966" id="line1966"> 1966</a> </span> : * Abstract the limitation and pagination of documents.
3473 <span class="lineNum" id="container1967"><a name="1967"></a><a href="#1967" id="line1967"> 1967</a> </span> : *
3474 <span class="lineNum" id="container1968"><a name="1968"></a><a href="#1968" id="line1968"> 1968</a> </span> : * @param int $limit Number of max. documents to retrieve
3475 <span class="lineNum" id="container1969"><a name="1969"></a><a href="#1969" id="line1969"> 1969</a> </span> : * @param int $skip Number of documents to skip
3476 <span class="lineNum" id="container1970"><a name="1970"></a><a href="#1970" id="line1970"> 1970</a> </span> : *
3477 <span class="lineNum" id="container1971"><a name="1971"></a><a href="#1971" id="line1971"> 1971</a> </span> : * @return this
3478 <span class="lineNum" id="container1972"><a name="1972"></a><a href="#1972" id="line1972"> 1972</a> </span> : */
3479 <span class="lineNum" id="container1973"><a name="1973"></a><a href="#1973" id="line1973"> 1973</a> </span> : final function limit($limit=0, $skip=0)
3480 <span class="lineNum" id="container1974"><a name="1974"></a><a href="#1974" id="line1974"> 1974</a> </span> : {
3481 <span class="lineNum" id="container1975"><a name="1975"></a><a href="#1975" id="line1975"> 1975</a> </span><span class="lineCov"> 6 : $this-&gt;_assertNotInQuery(); </span>
3482 <span class="lineNum" id="container1976"><a name="1976"></a><a href="#1976" id="line1976"> 1976</a> </span> :
3483 <span class="lineNum" id="container1977"><a name="1977"></a><a href="#1977" id="line1977"> 1977</a> </span><span class="lineCov"> 6 : if ($limit &lt; 0 || $skip &lt; 0) { </span>
3484 <span class="lineNum" id="container1978"><a name="1978"></a><a href="#1978" id="line1978"> 1978</a> </span><span class="lineCov"> 1 : return FALSE; </span>
3485 <span class="lineNum" id="container1979"><a name="1979"></a><a href="#1979" id="line1979"> 1979</a> </span><span class="lineDeadCode"> : } </span>
3486 <span class="lineNum" id="container1980"><a name="1980"></a><a href="#1980" id="line1980"> 1980</a> </span><span class="lineCov"> 5 : $this-&gt;_limit = $limit; </span>
3487 <span class="lineNum" id="container1981"><a name="1981"></a><a href="#1981" id="line1981"> 1981</a> </span><span class="lineCov"> 5 : $this-&gt;_skip = $skip; </span>
3488 <span class="lineNum" id="container1982"><a name="1982"></a><a href="#1982" id="line1982"> 1982</a> </span> :
3489 <span class="lineNum" id="container1983"><a name="1983"></a><a href="#1983" id="line1983"> 1983</a> </span><span class="lineCov"> 5 : return $this; </span>
3490 <span class="lineNum" id="container1984"><a name="1984"></a><a href="#1984" id="line1984"> 1984</a> </span><span class="lineDeadCode"> : } </span>
3491 <span class="lineNum" id="container1985"><a name="1985"></a><a href="#1985" id="line1985"> 1985</a> </span> : // }}}
3492 <span class="lineNum" id="container1986"><a name="1986"></a><a href="#1986" id="line1986"> 1986</a> </span> :
3493 <span class="lineNum" id="container1987"><a name="1987"></a><a href="#1987" id="line1987"> 1987</a> </span> : // FindAndModify(Array $document) {{{
3494 <span class="lineNum" id="container1988"><a name="1988"></a><a href="#1988" id="line1988"> 1988</a> </span> : /**
3495 <span class="lineNum" id="container1989"><a name="1989"></a><a href="#1989" id="line1989"> 1989</a> </span> : * findAndModify
3496 <span class="lineNum" id="container1990"><a name="1990"></a><a href="#1990" id="line1990"> 1990</a> </span> : *
3497 <span class="lineNum" id="container1991"><a name="1991"></a><a href="#1991" id="line1991"> 1991</a> </span> : *
3498 <span class="lineNum" id="container1992"><a name="1992"></a><a href="#1992" id="line1992"> 1992</a> </span> : */
3499 <span class="lineNum" id="container1993"><a name="1993"></a><a href="#1993" id="line1993"> 1993</a> </span> : final function findAndModify($document)
3500 <span class="lineNum" id="container1994"><a name="1994"></a><a href="#1994" id="line1994"> 1994</a> </span> : {
3501 <span class="lineNum" id="container1995"><a name="1995"></a><a href="#1995" id="line1995"> 1995</a> </span><span class="lineCov"> 2 : $this-&gt;_assertNotInQuery(); </span>
3502 <span class="lineNum" id="container1996"><a name="1996"></a><a href="#1996" id="line1996"> 1996</a> </span> :
3503 <span class="lineNum" id="container1997"><a name="1997"></a><a href="#1997" id="line1997"> 1997</a> </span><span class="lineCov"> 2 : if (count($document) === 0) { </span>
3504 <span class="lineNum" id="container1998"><a name="1998"></a><a href="#1998" id="line1998"> 1998</a> </span><span class="lineCov"> 1 : throw new ActiveMongo_Exception(&quot;Empty \$document is not allowed&quot;); </span>
3505 <span class="lineNum" id="container1999"><a name="1999"></a><a href="#1999" id="line1999"> 1999</a> </span><span class="lineDeadCode"> : } </span>
3506 <span class="lineNum" id="container2000"><a name="2000"></a><a href="#2000" id="line2000"> 2000</a> </span> :
3507 <span class="lineNum" id="container2001"><a name="2001"></a><a href="#2001" id="line2001"> 2001</a> </span><span class="lineCov"> 2 : $this-&gt;_cursor_ex = self::FIND_AND_MODIFY; </span>
3508 <span class="lineNum" id="container2002"><a name="2002"></a><a href="#2002" id="line2002"> 2002</a> </span><span class="lineCov"> 2 : $this-&gt;_findandmodify = $document; </span>
3509 <span class="lineNum" id="container2003"><a name="2003"></a><a href="#2003" id="line2003"> 2003</a> </span> :
3510 <span class="lineNum" id="container2004"><a name="2004"></a><a href="#2004" id="line2004"> 2004</a> </span><span class="lineCov"> 2 : return $this; </span>
3511 <span class="lineNum" id="container2005"><a name="2005"></a><a href="#2005" id="line2005"> 2005</a> </span><span class="lineDeadCode"> : } </span>
3512 <span class="lineNum" id="container2006"><a name="2006"></a><a href="#2006" id="line2006"> 2006</a> </span> :
3513 <span class="lineNum" id="container2007"><a name="2007"></a><a href="#2007" id="line2007"> 2007</a> </span> : private function _execFindAndModify()
3514 <span class="lineNum" id="container2008"><a name="2008"></a><a href="#2008" id="line2008"> 2008</a> </span> : {
3515 <span class="lineNum" id="container2009"><a name="2009"></a><a href="#2009" id="line2009"> 2009</a> </span><span class="lineCov"> 1 : $query = (array)$this-&gt;_query; </span>
3516 <span class="lineNum" id="container2010"><a name="2010"></a><a href="#2010" id="line2010"> 2010</a> </span> :
3517 <span class="lineNum" id="container2011"><a name="2011"></a><a href="#2011" id="line2011"> 2011</a> </span> : $query = array(
3518 <span class="lineNum" id="container2012"><a name="2012"></a><a href="#2012" id="line2012"> 2012</a> </span><span class="lineCov"> 1 : &quot;findandmodify&quot; =&gt; $this-&gt;CollectionName(), </span>
3519 <span class="lineNum" id="container2013"><a name="2013"></a><a href="#2013" id="line2013"> 2013</a> </span><span class="lineCov"> 1 : &quot;query&quot; =&gt; $query, </span>
3520 <span class="lineNum" id="container2014"><a name="2014"></a><a href="#2014" id="line2014"> 2014</a> </span><span class="lineCov"> 1 : &quot;update&quot; =&gt; array('$set' =&gt; $this-&gt;_findandmodify), </span>
3521 <span class="lineNum" id="container2015"><a name="2015"></a><a href="#2015" id="line2015"> 2015</a> </span><span class="lineCov"> 1 : &quot;new&quot; =&gt; TRUE, </span>
3522 <span class="lineNum" id="container2016"><a name="2016"></a><a href="#2016" id="line2016"> 2016</a> </span><span class="lineCov"> 1 : ); </span>
3523 <span class="lineNum" id="container2017"><a name="2017"></a><a href="#2017" id="line2017"> 2017</a> </span><span class="lineCov"> 1 : if (isset($this-&gt;_sort)) { </span>
3524 <span class="lineNum" id="container2018"><a name="2018"></a><a href="#2018" id="line2018"> 2018</a> </span><span class="lineCov"> 1 : $query[&quot;sort&quot;] = $this-&gt;_sort; </span>
3525 <span class="lineNum" id="container2019"><a name="2019"></a><a href="#2019" id="line2019"> 2019</a> </span><span class="lineCov"> 1 : } </span>
3526 <span class="lineNum" id="container2020"><a name="2020"></a><a href="#2020" id="line2020"> 2020</a> </span><span class="lineCov"> 1 : $this-&gt;_cursor_ex_value = $this-&gt;sendCMD($query); </span>
3527 <span class="lineNum" id="container2021"><a name="2021"></a><a href="#2021" id="line2021"> 2021</a> </span> :
3528 <span class="lineNum" id="container2022"><a name="2022"></a><a href="#2022" id="line2022"> 2022</a> </span><span class="lineCov"> 1 : $this-&gt;_findandmodify_cnt++; </span>
3529 <span class="lineNum" id="container2023"><a name="2023"></a><a href="#2023" id="line2023"> 2023</a> </span><span class="lineCov"> 1 : } </span>
3530 <span class="lineNum" id="container2024"><a name="2024"></a><a href="#2024" id="line2024"> 2024</a> </span> : // }}}
3531 <span class="lineNum" id="container2025"><a name="2025"></a><a href="#2025" id="line2025"> 2025</a> </span> :
3532 <span class="lineNum" id="container2026"><a name="2026"></a><a href="#2026" id="line2026"> 2026</a> </span> : // }}}
3533 <span class="lineNum" id="container2027"><a name="2027"></a><a href="#2027" id="line2027"> 2027</a> </span> :
3534 <span class="lineNum" id="container2028"><a name="2028"></a><a href="#2028" id="line2028"> 2028</a> </span> : // __sleep() {{{
3535 <span class="lineNum" id="container2029"><a name="2029"></a><a href="#2029" id="line2029"> 2029</a> </span> : /**
3536 <span class="lineNum" id="container2030"><a name="2030"></a><a href="#2030" id="line2030"> 2030</a> </span> : * Return a list of properties to serialize, to save
3537 <span class="lineNum" id="container2031"><a name="2031"></a><a href="#2031" id="line2031"> 2031</a> </span> : * into MongoDB
3538 <span class="lineNum" id="container2032"><a name="2032"></a><a href="#2032" id="line2032"> 2032</a> </span> : *
3539 <span class="lineNum" id="container2033"><a name="2033"></a><a href="#2033" id="line2033"> 2033</a> </span> : * @return array
3540 <span class="lineNum" id="container2034"><a name="2034"></a><a href="#2034" id="line2034"> 2034</a> </span> : */
3541 <span class="lineNum" id="container2035"><a name="2035"></a><a href="#2035" id="line2035"> 2035</a> </span> : function __sleep()
3542 <span class="lineNum" id="container2036"><a name="2036"></a><a href="#2036" id="line2036"> 2036</a> </span> : {
3543 <span class="lineNum" id="container2037"><a name="2037"></a><a href="#2037" id="line2037"> 2037</a> </span><span class="lineCov"> 19 : return array_keys(get_document_vars($this)); </span>
3544 <span class="lineNum" id="container2038"><a name="2038"></a><a href="#2038" id="line2038"> 2038</a> </span><span class="lineDeadCode"> : } </span>
3545 <span class="lineNum" id="container2039"><a name="2039"></a><a href="#2039" id="line2039"> 2039</a> </span> : // }}}
3546 <span class="lineNum" id="container2040"><a name="2040"></a><a href="#2040" id="line2040"> 2040</a> </span> :
3547 <span class="lineNum" id="container2041"><a name="2041"></a><a href="#2041" id="line2041"> 2041</a> </span> : }
3548 <span class="lineNum" id="container2042"><a name="2042"></a><a href="#2042" id="line2042"> 2042</a> </span> :
3549 <span class="lineNum" id="container2043"><a name="2043"></a><a href="#2043" id="line2043"> 2043</a> </span> : require_once dirname(__FILE__).&quot;/Validators.php&quot;;
3550 <span class="lineNum" id="container2044"><a name="2044"></a><a href="#2044" id="line2044"> 2044</a> </span> : require_once dirname(__FILE__).&quot;/Exceptions.php&quot;;
3551 <span class="lineNum" id="container2045"><a name="2045"></a><a href="#2045" id="line2045"> 2045</a> </span> :
3552 <span class="lineNum" id="container2046"><a name="2046"></a><a href="#2046" id="line2046"> 2046</a> </span> : /*
3553 <span class="lineNum" id="container2047"><a name="2047"></a><a href="#2047" id="line2047"> 2047</a> </span> : * Local variables:
3554 <span class="lineNum" id="container2048"><a name="2048"></a><a href="#2048" id="line2048"> 2048</a> </span> : * tab-width: 4
3555 <span class="lineNum" id="container2049"><a name="2049"></a><a href="#2049" id="line2049"> 2049</a> </span> : * c-basic-offset: 4
3556 <span class="lineNum" id="container2050"><a name="2050"></a><a href="#2050" id="line2050"> 2050</a> </span> : * End:
3557 <span class="lineNum" id="container2051"><a name="2051"></a><a href="#2051" id="line2051"> 2051</a> </span> : * vim600: sw=4 ts=4 fdm=marker
3558 <span class="lineNum" id="container2052"><a name="2052"></a><a href="#2052" id="line2052"> 2052</a> </span> : * vim&lt;600: sw=4 ts=4
3559 <span class="lineNum" id="container2053"><a name="2053"></a><a href="#2053" id="line2053"> 2053</a> </span> : */
3561 </pre>
3562 </td>
3563 </tr>
3564 </table>
3566 <table width="100%" border="0" cellspacing="0" cellpadding="0">
3567 <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
3568 <tr><td class="versionInfo">Generated by <a href="http://www.phpunit.de/" target="_top">PHPUnit 3.4.12</a> and <a href="http://www.xdebug.org/" target="_top">Xdebug 2.0.5</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.2</a> at Mon Jun 7 1:48:19 PYT 2010.</td></tr>
3569 </table>
3571 <br />
3573 <script type="text/javascript">
3574 //<![CDATA[
3575 $E = YAHOO.util.Event;
3576 YAHOO.namespace("phpunit.container");
3577 YAHOO.phpunit.container.panelsData = {
3578 "panel49": {
3579 "header": "36 tests cover line 49",
3580 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3581 "footer": ""
3583 "panel50": {
3584 "header": "36 tests cover line 50",
3585 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3586 "footer": ""
3588 "panel51": {
3589 "header": "11 tests cover line 51",
3590 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3591 "footer": ""
3593 "panel52": {
3594 "header": "11 tests cover line 52",
3595 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3596 "footer": ""
3598 "panel53": {
3599 "header": "36 tests cover line 53",
3600 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3601 "footer": ""
3603 "panel203": {
3604 "header": "1 test covers line 203",
3605 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3606 "footer": ""
3608 "panel204": {
3609 "header": "1 test covers line 204",
3610 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3611 "footer": ""
3613 "panel208": {
3614 "header": "42 tests cover line 208",
3615 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3616 "footer": ""
3618 "panel209": {
3619 "header": "42 tests cover line 209",
3620 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3621 "footer": ""
3623 "panel210": {
3624 "header": "1 test covers line 210",
3625 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3626 "footer": ""
3628 "panel211": {
3629 "header": "1 test covers line 211",
3630 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3631 "footer": ""
3633 "panel212": {
3634 "header": "42 tests cover line 212",
3635 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3636 "footer": ""
3638 "panel213": {
3639 "header": "41 tests cover line 213",
3640 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3641 "footer": ""
3643 "panel214": {
3644 "header": "41 tests cover line 214",
3645 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3646 "footer": ""
3648 "panel215": {
3649 "header": "4 tests cover line 215",
3650 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
3651 "footer": ""
3653 "panel217": {
3654 "header": "42 tests cover line 217",
3655 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3656 "footer": ""
3658 "panel230": {
3659 "header": "42 tests cover line 230",
3660 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3661 "footer": ""
3663 "panel231": {
3664 "header": "41 tests cover line 231",
3665 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3666 "footer": ""
3668 "panel233": {
3669 "header": "4 tests cover line 233",
3670 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
3671 "footer": ""
3673 "panel247": {
3674 "header": "10 tests cover line 247",
3675 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3676 "footer": ""
3678 "panel250": {
3679 "header": "10 tests cover line 250",
3680 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3681 "footer": ""
3683 "panel265": {
3684 "header": "1 test covers line 265",
3685 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3686 "footer": ""
3688 "panel266": {
3689 "header": "1 test covers line 266",
3690 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3691 "footer": ""
3693 "panel268": {
3694 "header": "1 test covers line 268",
3695 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3696 "footer": ""
3698 "panel269": {
3699 "header": "1 test covers line 269",
3700 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3701 "footer": ""
3703 "panel271": {
3704 "header": "1 test covers line 271",
3705 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3706 "footer": ""
3708 "panel272": {
3709 "header": "1 test covers line 272",
3710 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3711 "footer": ""
3713 "panel273": {
3714 "header": "1 test covers line 273",
3715 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3716 "footer": ""
3718 "panel274": {
3719 "header": "1 test covers line 274",
3720 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3721 "footer": ""
3723 "panel275": {
3724 "header": "1 test covers line 275",
3725 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3726 "footer": ""
3728 "panel276": {
3729 "header": "1 test covers line 276",
3730 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3731 "footer": ""
3733 "panel295": {
3734 "header": "1 test covers line 295",
3735 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3736 "footer": ""
3738 "panel296": {
3739 "header": "1 test covers line 296",
3740 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3741 "footer": ""
3743 "panel297": {
3744 "header": "1 test covers line 297",
3745 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3746 "footer": ""
3748 "panel298": {
3749 "header": "1 test covers line 298",
3750 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3751 "footer": ""
3753 "panel299": {
3754 "header": "1 test covers line 299",
3755 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3756 "footer": ""
3758 "panel312": {
3759 "header": "6 tests cover line 312",
3760 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3761 "footer": ""
3763 "panel318": {
3764 "header": "6 tests cover line 318",
3765 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3766 "footer": ""
3768 "panel319": {
3769 "header": "6 tests cover line 319",
3770 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3771 "footer": ""
3773 "panel320": {
3774 "header": "6 tests cover line 320",
3775 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3776 "footer": ""
3778 "panel323": {
3779 "header": "6 tests cover line 323",
3780 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3781 "footer": ""
3783 "panel324": {
3784 "header": "1 test covers line 324",
3785 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3786 "footer": ""
3788 "panel325": {
3789 "header": "1 test covers line 325",
3790 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3791 "footer": ""
3793 "panel326": {
3794 "header": "6 tests cover line 326",
3795 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3796 "footer": ""
3798 "panel331": {
3799 "header": "6 tests cover line 331",
3800 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3801 "footer": ""
3803 "panel345": {
3804 "header": "39 tests cover line 345",
3805 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3806 "footer": ""
3808 "panel346": {
3809 "header": "38 tests cover line 346",
3810 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3811 "footer": ""
3813 "panel347": {
3814 "header": "38 tests cover line 347",
3815 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3816 "footer": ""
3818 "panel348": {
3819 "header": "4 tests cover line 348",
3820 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
3821 "footer": ""
3823 "panel350": {
3824 "header": "39 tests cover line 350",
3825 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3826 "footer": ""
3828 "panel351": {
3829 "header": "3 tests cover line 351",
3830 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3831 "footer": ""
3833 "panel352": {
3834 "header": "3 tests cover line 352",
3835 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3836 "footer": ""
3838 "panel353": {
3839 "header": "39 tests cover line 353",
3840 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3841 "footer": ""
3843 "panel370": {
3844 "header": "20 tests cover line 370",
3845 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3846 "footer": ""
3848 "panel371": {
3849 "header": "20 tests cover line 371",
3850 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3851 "footer": ""
3853 "panel372": {
3854 "header": "20 tests cover line 372",
3855 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3856 "footer": ""
3858 "panel373": {
3859 "header": "8 tests cover line 373",
3860 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3861 "footer": ""
3863 "panel375": {
3864 "header": "20 tests cover line 375",
3865 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3866 "footer": ""
3868 "panel376": {
3869 "header": "20 tests cover line 376",
3870 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3871 "footer": ""
3873 "panel377": {
3874 "header": "20 tests cover line 377",
3875 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3876 "footer": ""
3878 "panel407": {
3879 "header": "3 tests cover line 407",
3880 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3881 "footer": ""
3883 "panel408": {
3884 "header": "3 tests cover line 408",
3885 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3886 "footer": ""
3888 "panel409": {
3889 "header": "3 tests cover line 409",
3890 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3891 "footer": ""
3893 "panel413": {
3894 "header": "2 tests cover line 413",
3895 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3896 "footer": ""
3898 "panel418": {
3899 "header": "1 test covers line 418",
3900 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3901 "footer": ""
3903 "panel419": {
3904 "header": "1 test covers line 419",
3905 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3906 "footer": ""
3908 "panel425": {
3909 "header": "1 test covers line 425",
3910 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
3911 "footer": ""
3913 "panel429": {
3914 "header": "2 tests cover line 429",
3915 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3916 "footer": ""
3918 "panel430": {
3919 "header": "3 tests cover line 430",
3920 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3921 "footer": ""
3923 "panel431": {
3924 "header": "2 tests cover line 431",
3925 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3926 "footer": ""
3928 "panel432": {
3929 "header": "2 tests cover line 432",
3930 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3931 "footer": ""
3933 "panel433": {
3934 "header": "3 tests cover line 433",
3935 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3936 "footer": ""
3938 "panel435": {
3939 "header": "3 tests cover line 435",
3940 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3941 "footer": ""
3943 "panel436": {
3944 "header": "2 tests cover line 436",
3945 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3946 "footer": ""
3948 "panel437": {
3949 "header": "2 tests cover line 437",
3950 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3951 "footer": ""
3953 "panel438": {
3954 "header": "3 tests cover line 438",
3955 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3956 "footer": ""
3958 "panel440": {
3959 "header": "3 tests cover line 440",
3960 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3961 "footer": ""
3963 "panel460": {
3964 "header": "20 tests cover line 460",
3965 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3966 "footer": ""
3968 "panel461": {
3969 "header": "20 tests cover line 461",
3970 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3971 "footer": ""
3973 "panel463": {
3974 "header": "20 tests cover line 463",
3975 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3976 "footer": ""
3978 "panel464": {
3979 "header": "20 tests cover line 464",
3980 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3981 "footer": ""
3983 "panel465": {
3984 "header": "20 tests cover line 465",
3985 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3986 "footer": ""
3988 "panel468": {
3989 "header": "20 tests cover line 468",
3990 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3991 "footer": ""
3993 "panel470": {
3994 "header": "20 tests cover line 470",
3995 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3996 "footer": ""
3998 "panel471": {
3999 "header": "20 tests cover line 471",
4000 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4001 "footer": ""
4003 "panel473": {
4004 "header": "19 tests cover line 473",
4005 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4006 "footer": ""
4008 "panel474": {
4009 "header": "19 tests cover line 474",
4010 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4011 "footer": ""
4013 "panel475": {
4014 "header": "8 tests cover line 475",
4015 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4016 "footer": ""
4018 "panel483": {
4019 "header": "3 tests cover line 483",
4020 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4021 "footer": ""
4023 "panel488": {
4024 "header": "1 test covers line 488",
4025 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4026 "footer": ""
4028 "panel489": {
4029 "header": "1 test covers line 489",
4030 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4031 "footer": ""
4033 "panel490": {
4034 "header": "1 test covers line 490",
4035 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4036 "footer": ""
4038 "panel493": {
4039 "header": "3 tests cover line 493",
4040 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4041 "footer": ""
4043 "panel496": {
4044 "header": "8 tests cover line 496",
4045 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4046 "footer": ""
4048 "panel501": {
4049 "header": "6 tests cover line 501",
4050 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4051 "footer": ""
4053 "panel502": {
4054 "header": "6 tests cover line 502",
4055 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4056 "footer": ""
4058 "panel503": {
4059 "header": "6 tests cover line 503",
4060 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4061 "footer": ""
4063 "panel504": {
4064 "header": "6 tests cover line 504",
4065 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4066 "footer": ""
4068 "panel505": {
4069 "header": "8 tests cover line 505",
4070 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4071 "footer": ""
4073 "panel510": {
4074 "header": "18 tests cover line 510",
4075 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4076 "footer": ""
4078 "panel511": {
4079 "header": "18 tests cover line 511",
4080 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4081 "footer": ""
4083 "panel513": {
4084 "header": "19 tests cover line 513",
4085 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4086 "footer": ""
4088 "panel516": {
4089 "header": "19 tests cover line 516",
4090 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4091 "footer": ""
4093 "panel517": {
4094 "header": "8 tests cover line 517",
4095 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4096 "footer": ""
4098 "panel518": {
4099 "header": "8 tests cover line 518",
4100 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4101 "footer": ""
4103 "panel519": {
4104 "header": "8 tests cover line 519",
4105 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4106 "footer": ""
4108 "panel521": {
4109 "header": "1 test covers line 521",
4110 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4111 "footer": ""
4113 "panel522": {
4114 "header": "8 tests cover line 522",
4115 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4116 "footer": ""
4118 "panel523": {
4119 "header": "8 tests cover line 523",
4120 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4121 "footer": ""
4123 "panel525": {
4124 "header": "19 tests cover line 525",
4125 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4126 "footer": ""
4128 "panel526": {
4129 "header": "1 test covers line 526",
4130 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4131 "footer": ""
4133 "panel529": {
4134 "header": "19 tests cover line 529",
4135 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4136 "footer": ""
4138 "panel530": {
4139 "header": "19 tests cover line 530",
4140 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4141 "footer": ""
4143 "panel532": {
4144 "header": "19 tests cover line 532",
4145 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4146 "footer": ""
4148 "panel547": {
4149 "header": "7 tests cover line 547",
4150 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testInvalidHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4151 "footer": ""
4153 "panel548": {
4154 "header": "1 test covers line 548",
4155 "body": "<ul><li class=\"testPassed\">HookTest::testInvalidHooks</li></ul>",
4156 "footer": ""
4158 "panel551": {
4159 "header": "6 tests cover line 551",
4160 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4161 "footer": ""
4163 "panel552": {
4164 "header": "6 tests cover line 552",
4165 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4166 "footer": ""
4168 "panel553": {
4169 "header": "2 tests cover line 553",
4170 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4171 "footer": ""
4173 "panel554": {
4174 "header": "2 tests cover line 554",
4175 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4176 "footer": ""
4178 "panel555": {
4179 "header": "4 tests cover line 555",
4180 "body": "<ul><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4181 "footer": ""
4183 "panel557": {
4184 "header": "6 tests cover line 557",
4185 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4186 "footer": ""
4188 "panel558": {
4189 "header": "6 tests cover line 558",
4190 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4191 "footer": ""
4193 "panel559": {
4194 "header": "6 tests cover line 559",
4195 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4196 "footer": ""
4198 "panel560": {
4199 "header": "6 tests cover line 560",
4200 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4201 "footer": ""
4203 "panel561": {
4204 "header": "6 tests cover line 561",
4205 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4206 "footer": ""
4208 "panel568": {
4209 "header": "39 tests cover line 568",
4210 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4211 "footer": ""
4213 "panel569": {
4214 "header": "38 tests cover line 569",
4215 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4216 "footer": ""
4218 "panel573": {
4219 "header": "38 tests cover line 573",
4220 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4221 "footer": ""
4223 "panel574": {
4224 "header": "38 tests cover line 574",
4225 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4226 "footer": ""
4228 "panel576": {
4229 "header": "38 tests cover line 576",
4230 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4231 "footer": ""
4233 "panel577": {
4234 "header": "3 tests cover line 577",
4235 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
4236 "footer": ""
4238 "panel578": {
4239 "header": "3 tests cover line 578",
4240 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
4241 "footer": ""
4243 "panel580": {
4244 "header": "39 tests cover line 580",
4245 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4246 "footer": ""
4248 "panel581": {
4249 "header": "39 tests cover line 581",
4250 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4251 "footer": ""
4253 "panel584": {
4254 "header": "39 tests cover line 584",
4255 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4256 "footer": ""
4258 "panel586": {
4259 "header": "39 tests cover line 586",
4260 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4261 "footer": ""
4263 "panel587": {
4264 "header": "39 tests cover line 587",
4265 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4266 "footer": ""
4268 "panel588": {
4269 "header": "24 tests cover line 588",
4270 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4271 "footer": ""
4273 "panel589": {
4274 "header": "24 tests cover line 589",
4275 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4276 "footer": ""
4278 "panel590": {
4279 "header": "24 tests cover line 590",
4280 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4281 "footer": ""
4283 "panel591": {
4284 "header": "6 tests cover line 591",
4285 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4286 "footer": ""
4288 "panel593": {
4289 "header": "24 tests cover line 593",
4290 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4291 "footer": ""
4293 "panel594": {
4294 "header": "24 tests cover line 594",
4295 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4296 "footer": ""
4298 "panel595": {
4299 "header": "39 tests cover line 595",
4300 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4301 "footer": ""
4303 "panel598": {
4304 "header": "39 tests cover line 598",
4305 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4306 "footer": ""
4308 "panel599": {
4309 "header": "39 tests cover line 599",
4310 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4311 "footer": ""
4313 "panel600": {
4314 "header": "39 tests cover line 600",
4315 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4316 "footer": ""
4318 "panel601": {
4319 "header": "39 tests cover line 601",
4320 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4321 "footer": ""
4323 "panel602": {
4324 "header": "39 tests cover line 602",
4325 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4326 "footer": ""
4328 "panel603": {
4329 "header": "39 tests cover line 603",
4330 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4331 "footer": ""
4333 "panel604": {
4334 "header": "39 tests cover line 604",
4335 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4336 "footer": ""
4338 "panel605": {
4339 "header": "39 tests cover line 605",
4340 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4341 "footer": ""
4343 "panel606": {
4344 "header": "39 tests cover line 606",
4345 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4346 "footer": ""
4348 "panel607": {
4349 "header": "39 tests cover line 607",
4350 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4351 "footer": ""
4353 "panel608": {
4354 "header": "39 tests cover line 608",
4355 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4356 "footer": ""
4358 "panel609": {
4359 "header": "39 tests cover line 609",
4360 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4361 "footer": ""
4363 "panel610": {
4364 "header": "38 tests cover line 610",
4365 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4366 "footer": ""
4368 "panel611": {
4369 "header": "38 tests cover line 611",
4370 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4371 "footer": ""
4373 "panel612": {
4374 "header": "38 tests cover line 612",
4375 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4376 "footer": ""
4378 "panel613": {
4379 "header": "8 tests cover line 613",
4380 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4381 "footer": ""
4383 "panel614": {
4384 "header": "8 tests cover line 614",
4385 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4386 "footer": ""
4388 "panel615": {
4389 "header": "38 tests cover line 615",
4390 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4391 "footer": ""
4393 "panel617": {
4394 "header": "39 tests cover line 617",
4395 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4396 "footer": ""
4398 "panel633": {
4399 "header": "19 tests cover line 633",
4400 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4401 "footer": ""
4403 "panel634": {
4404 "header": "19 tests cover line 634",
4405 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4406 "footer": ""
4408 "panel635": {
4409 "header": "1 test covers line 635",
4410 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4411 "footer": ""
4413 "panel636": {
4414 "header": "1 test covers line 636",
4415 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4416 "footer": ""
4418 "panel637": {
4419 "header": "1 test covers line 637",
4420 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4421 "footer": ""
4423 "panel639": {
4424 "header": "1 test covers line 639",
4425 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4426 "footer": ""
4428 "panel640": {
4429 "header": "1 test covers line 640",
4430 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4431 "footer": ""
4433 "panel641": {
4434 "header": "19 tests cover line 641",
4435 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4436 "footer": ""
4438 "panel659": {
4439 "header": "28 tests cover line 659",
4440 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4441 "footer": ""
4443 "panel660": {
4444 "header": "28 tests cover line 660",
4445 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4446 "footer": ""
4448 "panel661": {
4449 "header": "28 tests cover line 661",
4450 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4451 "footer": ""
4453 "panel662": {
4454 "header": "28 tests cover line 662",
4455 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4456 "footer": ""
4458 "panel679": {
4459 "header": "35 tests cover line 679",
4460 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4461 "footer": ""
4463 "panel680": {
4464 "header": "34 tests cover line 680",
4465 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4466 "footer": ""
4468 "panel681": {
4469 "header": "35 tests cover line 681",
4470 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4471 "footer": ""
4473 "panel682": {
4474 "header": "35 tests cover line 682",
4475 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4476 "footer": ""
4478 "panel685": {
4479 "header": "35 tests cover line 685",
4480 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4481 "footer": ""
4483 "panel686": {
4484 "header": "32 tests cover line 686",
4485 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4486 "footer": ""
4488 "panel689": {
4489 "header": "32 tests cover line 689",
4490 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4491 "footer": ""
4493 "panel690": {
4494 "header": "35 tests cover line 690",
4495 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4496 "footer": ""
4498 "panel693": {
4499 "header": "35 tests cover line 693",
4500 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4501 "footer": ""
4503 "panel694": {
4504 "header": "35 tests cover line 694",
4505 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4506 "footer": ""
4508 "panel708": {
4509 "header": "3 tests cover line 708",
4510 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4511 "footer": ""
4513 "panel709": {
4514 "header": "3 tests cover line 709",
4515 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4516 "footer": ""
4518 "panel710": {
4519 "header": "3 tests cover line 710",
4520 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4521 "footer": ""
4523 "panel711": {
4524 "header": "3 tests cover line 711",
4525 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4526 "footer": ""
4528 "panel712": {
4529 "header": "3 tests cover line 712",
4530 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4531 "footer": ""
4533 "panel713": {
4534 "header": "3 tests cover line 713",
4535 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4536 "footer": ""
4538 "panel714": {
4539 "header": "3 tests cover line 714",
4540 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4541 "footer": ""
4543 "panel715": {
4544 "header": "1 test covers line 715",
4545 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
4546 "footer": ""
4548 "panel716": {
4549 "header": "1 test covers line 716",
4550 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
4551 "footer": ""
4553 "panel717": {
4554 "header": "1 test covers line 717",
4555 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
4556 "footer": ""
4558 "panel718": {
4559 "header": "3 tests cover line 718",
4560 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4561 "footer": ""
4563 "panel719": {
4564 "header": "3 tests cover line 719",
4565 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4566 "footer": ""
4568 "panel720": {
4569 "header": "3 tests cover line 720",
4570 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4571 "footer": ""
4573 "panel721": {
4574 "header": "2 tests cover line 721",
4575 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4576 "footer": ""
4578 "panel722": {
4579 "header": "2 tests cover line 722",
4580 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4581 "footer": ""
4583 "panel723": {
4584 "header": "1 test covers line 723",
4585 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li></ul>",
4586 "footer": ""
4588 "panel725": {
4589 "header": "3 tests cover line 725",
4590 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4591 "footer": ""
4593 "panel726": {
4594 "header": "3 tests cover line 726",
4595 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4596 "footer": ""
4598 "panel727": {
4599 "header": "3 tests cover line 727",
4600 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4601 "footer": ""
4603 "panel728": {
4604 "header": "3 tests cover line 728",
4605 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4606 "footer": ""
4608 "panel749": {
4609 "header": "20 tests cover line 749",
4610 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4611 "footer": ""
4613 "panel750": {
4614 "header": "20 tests cover line 750",
4615 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4616 "footer": ""
4618 "panel751": {
4619 "header": "20 tests cover line 751",
4620 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4621 "footer": ""
4623 "panel752": {
4624 "header": "19 tests cover line 752",
4625 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4626 "footer": ""
4628 "panel754": {
4629 "header": "19 tests cover line 754",
4630 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4631 "footer": ""
4633 "panel755": {
4634 "header": "8 tests cover line 755",
4635 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4636 "footer": ""
4638 "panel756": {
4639 "header": "8 tests cover line 756",
4640 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4641 "footer": ""
4643 "panel758": {
4644 "header": "19 tests cover line 758",
4645 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4646 "footer": ""
4648 "panel759": {
4649 "header": "1 test covers line 759",
4650 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4651 "footer": ""
4653 "panel763": {
4654 "header": "19 tests cover line 763",
4655 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4656 "footer": ""
4658 "panel765": {
4659 "header": "19 tests cover line 765",
4660 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4661 "footer": ""
4663 "panel766": {
4664 "header": "8 tests cover line 766",
4665 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4666 "footer": ""
4668 "panel767": {
4669 "header": "8 tests cover line 767",
4670 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4671 "footer": ""
4673 "panel768": {
4674 "header": "7 tests cover line 768",
4675 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4676 "footer": ""
4678 "panel769": {
4679 "header": "7 tests cover line 769",
4680 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4681 "footer": ""
4683 "panel770": {
4684 "header": "7 tests cover line 770",
4685 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4686 "footer": ""
4688 "panel771": {
4689 "header": "7 tests cover line 771",
4690 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4691 "footer": ""
4693 "panel772": {
4694 "header": "7 tests cover line 772",
4695 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4696 "footer": ""
4698 "panel773": {
4699 "header": "2 tests cover line 773",
4700 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4701 "footer": ""
4703 "panel774": {
4704 "header": "2 tests cover line 774",
4705 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4706 "footer": ""
4708 "panel775": {
4709 "header": "2 tests cover line 775",
4710 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4711 "footer": ""
4713 "panel776": {
4714 "header": "2 tests cover line 776",
4715 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4716 "footer": ""
4718 "panel777": {
4719 "header": "2 tests cover line 777",
4720 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4721 "footer": ""
4723 "panel778": {
4724 "header": "1 test covers line 778",
4725 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4726 "footer": ""
4728 "panel779": {
4729 "header": "1 test covers line 779",
4730 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4731 "footer": ""
4733 "panel780": {
4734 "header": "1 test covers line 780",
4735 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4736 "footer": ""
4738 "panel781": {
4739 "header": "2 tests cover line 781",
4740 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4741 "footer": ""
4743 "panel782": {
4744 "header": "2 tests cover line 782",
4745 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4746 "footer": ""
4748 "panel784": {
4749 "header": "7 tests cover line 784",
4750 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4751 "footer": ""
4753 "panel785": {
4754 "header": "7 tests cover line 785",
4755 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4756 "footer": ""
4758 "panel786": {
4759 "header": "8 tests cover line 786",
4760 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4761 "footer": ""
4763 "panel787": {
4764 "header": "2 tests cover line 787",
4765 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4766 "footer": ""
4768 "panel788": {
4769 "header": "2 tests cover line 788",
4770 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4771 "footer": ""
4773 "panel789": {
4774 "header": "1 test covers line 789",
4775 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4776 "footer": ""
4778 "panel790": {
4779 "header": "1 test covers line 790",
4780 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4781 "footer": ""
4783 "panel791": {
4784 "header": "1 test covers line 791",
4785 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4786 "footer": ""
4788 "panel792": {
4789 "header": "2 tests cover line 792",
4790 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4791 "footer": ""
4793 "panel793": {
4794 "header": "2 tests cover line 793",
4795 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4796 "footer": ""
4798 "panel794": {
4799 "header": "2 tests cover line 794",
4800 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4801 "footer": ""
4803 "panel795": {
4804 "header": "2 tests cover line 795",
4805 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4806 "footer": ""
4808 "panel796": {
4809 "header": "2 tests cover line 796",
4810 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4811 "footer": ""
4813 "panel797": {
4814 "header": "1 test covers line 797",
4815 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4816 "footer": ""
4818 "panel798": {
4819 "header": "1 test covers line 798",
4820 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4821 "footer": ""
4823 "panel799": {
4824 "header": "1 test covers line 799",
4825 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4826 "footer": ""
4828 "panel800": {
4829 "header": "2 tests cover line 800",
4830 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4831 "footer": ""
4833 "panel801": {
4834 "header": "2 tests cover line 801",
4835 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4836 "footer": ""
4838 "panel803": {
4839 "header": "2 tests cover line 803",
4840 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4841 "footer": ""
4843 "panel804": {
4844 "header": "2 tests cover line 804",
4845 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4846 "footer": ""
4848 "panel805": {
4849 "header": "8 tests cover line 805",
4850 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4851 "footer": ""
4853 "panel806": {
4854 "header": "18 tests cover line 806",
4855 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4856 "footer": ""
4858 "panel807": {
4859 "header": "18 tests cover line 807",
4860 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4861 "footer": ""
4863 "panel810": {
4864 "header": "19 tests cover line 810",
4865 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4866 "footer": ""
4868 "panel812": {
4869 "header": "19 tests cover line 812",
4870 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4871 "footer": ""
4873 "panel825": {
4874 "header": "4 tests cover line 825",
4875 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4876 "footer": ""
4878 "panel826": {
4879 "header": "4 tests cover line 826",
4880 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4881 "footer": ""
4883 "panel827": {
4884 "header": "1 test covers line 827",
4885 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4886 "footer": ""
4888 "panel828": {
4889 "header": "1 test covers line 828",
4890 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4891 "footer": ""
4893 "panel829": {
4894 "header": "1 test covers line 829",
4895 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4896 "footer": ""
4898 "panel830": {
4899 "header": "1 test covers line 830",
4900 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4901 "footer": ""
4903 "panel831": {
4904 "header": "1 test covers line 831",
4905 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4906 "footer": ""
4908 "panel833": {
4909 "header": "4 tests cover line 833",
4910 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4911 "footer": ""
4913 "panel836": {
4914 "header": "4 tests cover line 836",
4915 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4916 "footer": ""
4918 "panel837": {
4919 "header": "4 tests cover line 837",
4920 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4921 "footer": ""
4923 "panel838": {
4924 "header": "4 tests cover line 838",
4925 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4926 "footer": ""
4928 "panel841": {
4929 "header": "4 tests cover line 841",
4930 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4931 "footer": ""
4933 "panel843": {
4934 "header": "4 tests cover line 843",
4935 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4936 "footer": ""
4938 "panel869": {
4939 "header": "3 tests cover line 869",
4940 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4941 "footer": ""
4943 "panel871": {
4944 "header": "3 tests cover line 871",
4945 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4946 "footer": ""
4948 "panel872": {
4949 "header": "3 tests cover line 872",
4950 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4951 "footer": ""
4953 "panel875": {
4954 "header": "3 tests cover line 875",
4955 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4956 "footer": ""
4958 "panel876": {
4959 "header": "3 tests cover line 876",
4960 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4961 "footer": ""
4963 "panel879": {
4964 "header": "3 tests cover line 879",
4965 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4966 "footer": ""
4968 "panel881": {
4969 "header": "3 tests cover line 881",
4970 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4971 "footer": ""
4973 "panel893": {
4974 "header": "5 tests cover line 893",
4975 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4976 "footer": ""
4978 "panel894": {
4979 "header": "5 tests cover line 894",
4980 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4981 "footer": ""
4983 "panel895": {
4984 "header": "1 test covers line 895",
4985 "body": "<ul><li class=\"testPassed\">QueryTest::testDrop</li></ul>",
4986 "footer": ""
4988 "panel897": {
4989 "header": "5 tests cover line 897",
4990 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4991 "footer": ""
4993 "panel898": {
4994 "header": "5 tests cover line 898",
4995 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4996 "footer": ""
4998 "panel899": {
4999 "header": "5 tests cover line 899",
5000 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5001 "footer": ""
5003 "panel900": {
5004 "header": "5 tests cover line 900",
5005 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5006 "footer": ""
5008 "panel901": {
5009 "header": "5 tests cover line 901",
5010 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5011 "footer": ""
5013 "panel902": {
5014 "header": "3 tests cover line 902",
5015 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li></ul>",
5016 "footer": ""
5018 "panel904": {
5019 "header": "4 tests cover line 904",
5020 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5021 "footer": ""
5023 "panel918": {
5024 "header": "9 tests cover line 918",
5025 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5026 "footer": ""
5028 "panel919": {
5029 "header": "9 tests cover line 919",
5030 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5031 "footer": ""
5033 "panel921": {
5034 "header": "1 test covers line 921",
5035 "body": "<ul><li class=\"testPassed\">ArrayTest::testCount</li></ul>",
5036 "footer": ""
5038 "panel933": {
5039 "header": "1 test covers line 933",
5040 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5041 "footer": ""
5043 "panel948": {
5044 "header": "3 tests cover line 948",
5045 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5046 "footer": ""
5048 "panel950": {
5049 "header": "3 tests cover line 950",
5050 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5051 "footer": ""
5053 "panel951": {
5054 "header": "1 test covers line 951",
5055 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5056 "footer": ""
5058 "panel955": {
5059 "header": "3 tests cover line 955",
5060 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5061 "footer": ""
5063 "panel956": {
5064 "header": "3 tests cover line 956",
5065 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5066 "footer": ""
5068 "panel957": {
5069 "header": "3 tests cover line 957",
5070 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5071 "footer": ""
5073 "panel958": {
5074 "header": "3 tests cover line 958",
5075 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5076 "footer": ""
5078 "panel960": {
5079 "header": "3 tests cover line 960",
5080 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5081 "footer": ""
5083 "panel961": {
5084 "header": "3 tests cover line 961",
5085 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5086 "footer": ""
5088 "panel962": {
5089 "header": "3 tests cover line 962",
5090 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5091 "footer": ""
5093 "panel963": {
5094 "header": "2 tests cover line 963",
5095 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5096 "footer": ""
5098 "panel964": {
5099 "header": "2 tests cover line 964",
5100 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5101 "footer": ""
5103 "panel965": {
5104 "header": "3 tests cover line 965",
5105 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5106 "footer": ""
5108 "panel966": {
5109 "header": "3 tests cover line 966",
5110 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5111 "footer": ""
5113 "panel967": {
5114 "header": "3 tests cover line 967",
5115 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5116 "footer": ""
5118 "panel968": {
5119 "header": "2 tests cover line 968",
5120 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5121 "footer": ""
5123 "panel969": {
5124 "header": "1 test covers line 969",
5125 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5126 "footer": ""
5128 "panel971": {
5129 "header": "2 tests cover line 971",
5130 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5131 "footer": ""
5133 "panel972": {
5134 "header": "2 tests cover line 972",
5135 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5136 "footer": ""
5138 "panel973": {
5139 "header": "3 tests cover line 973",
5140 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5141 "footer": ""
5143 "panel974": {
5144 "header": "3 tests cover line 974",
5145 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5146 "footer": ""
5148 "panel976": {
5149 "header": "3 tests cover line 976",
5150 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5151 "footer": ""
5153 "panel994": {
5154 "header": "1 test covers line 994",
5155 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5156 "footer": ""
5158 "panel995": {
5159 "header": "1 test covers line 995",
5160 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5161 "footer": ""
5163 "panel997": {
5164 "header": "1 test covers line 997",
5165 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5166 "footer": ""
5168 "panel998": {
5169 "header": "1 test covers line 998",
5170 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5171 "footer": ""
5173 "panel999": {
5174 "header": "1 test covers line 999",
5175 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5176 "footer": ""
5178 "panel1001": {
5179 "header": "1 test covers line 1001",
5180 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5181 "footer": ""
5183 "panel1002": {
5184 "header": "1 test covers line 1002",
5185 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5186 "footer": ""
5188 "panel1003": {
5189 "header": "1 test covers line 1003",
5190 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5191 "footer": ""
5193 "panel1004": {
5194 "header": "1 test covers line 1004",
5195 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5196 "footer": ""
5198 "panel1005": {
5199 "header": "1 test covers line 1005",
5200 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5201 "footer": ""
5203 "panel1006": {
5204 "header": "1 test covers line 1006",
5205 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5206 "footer": ""
5208 "panel1008": {
5209 "header": "1 test covers line 1008",
5210 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5211 "footer": ""
5213 "panel1009": {
5214 "header": "1 test covers line 1009",
5215 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5216 "footer": ""
5218 "panel1010": {
5219 "header": "1 test covers line 1010",
5220 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5221 "footer": ""
5223 "panel1011": {
5224 "header": "1 test covers line 1011",
5225 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5226 "footer": ""
5228 "panel1012": {
5229 "header": "1 test covers line 1012",
5230 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5231 "footer": ""
5233 "panel1014": {
5234 "header": "1 test covers line 1014",
5235 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5236 "footer": ""
5238 "panel1016": {
5239 "header": "1 test covers line 1016",
5240 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5241 "footer": ""
5243 "panel1028": {
5244 "header": "1 test covers line 1028",
5245 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5246 "footer": ""
5248 "panel1043": {
5249 "header": "1 test covers line 1043",
5250 "body": "<ul><li class=\"testPassed\">QueryTest::testToSTring</li></ul>",
5251 "footer": ""
5253 "panel1058": {
5254 "header": "1 test covers line 1058",
5255 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5256 "footer": ""
5258 "panel1073": {
5259 "header": "2 tests cover line 1073",
5260 "body": "<ul><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5261 "footer": ""
5263 "panel1086": {
5264 "header": "15 tests cover line 1086",
5265 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5266 "footer": ""
5268 "panel1087": {
5269 "header": "1 test covers line 1087",
5270 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li></ul>",
5271 "footer": ""
5273 "panel1089": {
5274 "header": "15 tests cover line 1089",
5275 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5276 "footer": ""
5278 "panel1090": {
5279 "header": "15 tests cover line 1090",
5280 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5281 "footer": ""
5283 "panel1091": {
5284 "header": "15 tests cover line 1091",
5285 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5286 "footer": ""
5288 "panel1092": {
5289 "header": "15 tests cover line 1092",
5290 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5291 "footer": ""
5293 "panel1093": {
5294 "header": "15 tests cover line 1093",
5295 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5296 "footer": ""
5298 "panel1094": {
5299 "header": "15 tests cover line 1094",
5300 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5301 "footer": ""
5303 "panel1095": {
5304 "header": "15 tests cover line 1095",
5305 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5306 "footer": ""
5308 "panel1096": {
5309 "header": "15 tests cover line 1096",
5310 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5311 "footer": ""
5313 "panel1097": {
5314 "header": "15 tests cover line 1097",
5315 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5316 "footer": ""
5318 "panel1110": {
5319 "header": "18 tests cover line 1110",
5320 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5321 "footer": ""
5323 "panel1111": {
5324 "header": "18 tests cover line 1111",
5325 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5326 "footer": ""
5328 "panel1112": {
5329 "header": "17 tests cover line 1112",
5330 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5331 "footer": ""
5333 "panel1113": {
5334 "header": "4 tests cover line 1113",
5335 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ArrayTest::testCount</li></ul>",
5336 "footer": ""
5338 "panel1114": {
5339 "header": "4 tests cover line 1114",
5340 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ArrayTest::testCount</li></ul>",
5341 "footer": ""
5343 "panel1115": {
5344 "header": "17 tests cover line 1115",
5345 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5346 "footer": ""
5348 "panel1116": {
5349 "header": "17 tests cover line 1116",
5350 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5351 "footer": ""
5353 "panel1117": {
5354 "header": "1 test covers line 1117",
5355 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5356 "footer": ""
5358 "panel1118": {
5359 "header": "1 test covers line 1118",
5360 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5361 "footer": ""
5363 "panel1119": {
5364 "header": "1 test covers line 1119",
5365 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5366 "footer": ""
5368 "panel1120": {
5369 "header": "1 test covers line 1120",
5370 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5371 "footer": ""
5373 "panel1121": {
5374 "header": "1 test covers line 1121",
5375 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5376 "footer": ""
5378 "panel1122": {
5379 "header": "1 test covers line 1122",
5380 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5381 "footer": ""
5383 "panel1123": {
5384 "header": "1 test covers line 1123",
5385 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5386 "footer": ""
5388 "panel1126": {
5389 "header": "1 test covers line 1126",
5390 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5391 "footer": ""
5393 "panel1129": {
5394 "header": "18 tests cover line 1129",
5395 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5396 "footer": ""
5398 "panel1141": {
5399 "header": "14 tests cover line 1141",
5400 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5401 "footer": ""
5403 "panel1142": {
5404 "header": "1 test covers line 1142",
5405 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5406 "footer": ""
5408 "panel1144": {
5409 "header": "14 tests cover line 1144",
5410 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5411 "footer": ""
5413 "panel1145": {
5414 "header": "13 tests cover line 1145",
5415 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5416 "footer": ""
5418 "panel1146": {
5419 "header": "13 tests cover line 1146",
5420 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5421 "footer": ""
5423 "panel1147": {
5424 "header": "13 tests cover line 1147",
5425 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5426 "footer": ""
5428 "panel1149": {
5429 "header": "1 test covers line 1149",
5430 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5431 "footer": ""
5433 "panel1150": {
5434 "header": "1 test covers line 1150",
5435 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5436 "footer": ""
5438 "panel1151": {
5439 "header": "1 test covers line 1151",
5440 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5441 "footer": ""
5443 "panel1152": {
5444 "header": "1 test covers line 1152",
5445 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5446 "footer": ""
5448 "panel1155": {
5449 "header": "1 test covers line 1155",
5450 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5451 "footer": ""
5453 "panel1157": {
5454 "header": "1 test covers line 1157",
5455 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5456 "footer": ""
5458 "panel1169": {
5459 "header": "14 tests cover line 1169",
5460 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5461 "footer": ""
5463 "panel1170": {
5464 "header": "13 tests cover line 1170",
5465 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5466 "footer": ""
5468 "panel1171": {
5469 "header": "13 tests cover line 1171",
5470 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5471 "footer": ""
5473 "panel1172": {
5474 "header": "1 test covers line 1172",
5475 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5476 "footer": ""
5478 "panel1173": {
5479 "header": "1 test covers line 1173",
5480 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5481 "footer": ""
5483 "panel1174": {
5484 "header": "1 test covers line 1174",
5485 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5486 "footer": ""
5488 "panel1177": {
5489 "header": "1 test covers line 1177",
5490 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5491 "footer": ""
5493 "panel1178": {
5494 "header": "1 test covers line 1178",
5495 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5496 "footer": ""
5498 "panel1181": {
5499 "header": "1 test covers line 1181",
5500 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5501 "footer": ""
5503 "panel1183": {
5504 "header": "14 tests cover line 1183",
5505 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5506 "footer": ""
5508 "panel1193": {
5509 "header": "13 tests cover line 1193",
5510 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5511 "footer": ""
5513 "panel1194": {
5514 "header": "1 test covers line 1194",
5515 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li></ul>",
5516 "footer": ""
5518 "panel1196": {
5519 "header": "13 tests cover line 1196",
5520 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5521 "footer": ""
5523 "panel1198": {
5524 "header": "12 tests cover line 1198",
5525 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5526 "footer": ""
5528 "panel1199": {
5529 "header": "7 tests cover line 1199",
5530 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li></ul>",
5531 "footer": ""
5533 "panel1200": {
5534 "header": "7 tests cover line 1200",
5535 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li></ul>",
5536 "footer": ""
5538 "panel1201": {
5539 "header": "12 tests cover line 1201",
5540 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5541 "footer": ""
5543 "panel1202": {
5544 "header": "12 tests cover line 1202",
5545 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5546 "footer": ""
5548 "panel1203": {
5549 "header": "12 tests cover line 1203",
5550 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5551 "footer": ""
5553 "panel1205": {
5554 "header": "1 test covers line 1205",
5555 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5556 "footer": ""
5558 "panel1206": {
5559 "header": "1 test covers line 1206",
5560 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5561 "footer": ""
5563 "panel1207": {
5564 "header": "1 test covers line 1207",
5565 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5566 "footer": ""
5568 "panel1208": {
5569 "header": "1 test covers line 1208",
5570 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5571 "footer": ""
5573 "panel1211": {
5574 "header": "1 test covers line 1211",
5575 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5576 "footer": ""
5578 "panel1213": {
5579 "header": "1 test covers line 1213",
5580 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5581 "footer": ""
5583 "panel1221": {
5584 "header": "4 tests cover line 1221",
5585 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5586 "footer": ""
5588 "panel1226": {
5589 "header": "5 tests cover line 1226",
5590 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5591 "footer": ""
5593 "panel1231": {
5594 "header": "3 tests cover line 1231",
5595 "body": "<ul><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5596 "footer": ""
5598 "panel1232": {
5599 "header": "3 tests cover line 1232",
5600 "body": "<ul><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5601 "footer": ""
5603 "panel1236": {
5604 "header": "1 test covers line 1236",
5605 "body": "<ul><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5606 "footer": ""
5608 "panel1237": {
5609 "header": "1 test covers line 1237",
5610 "body": "<ul><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5611 "footer": ""
5613 "panel1256": {
5614 "header": "6 tests cover line 1256",
5615 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5616 "footer": ""
5618 "panel1257": {
5619 "header": "1 test covers line 1257",
5620 "body": "<ul><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li></ul>",
5621 "footer": ""
5623 "panel1261": {
5624 "header": "5 tests cover line 1261",
5625 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5626 "footer": ""
5628 "panel1262": {
5629 "header": "5 tests cover line 1262",
5630 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5631 "footer": ""
5633 "panel1263": {
5634 "header": "5 tests cover line 1263",
5635 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5636 "footer": ""
5638 "panel1264": {
5639 "header": "5 tests cover line 1264",
5640 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5641 "footer": ""
5643 "panel1265": {
5644 "header": "5 tests cover line 1265",
5645 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5646 "footer": ""
5648 "panel1267": {
5649 "header": "5 tests cover line 1267",
5650 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5651 "footer": ""
5653 "panel1268": {
5654 "header": "4 tests cover line 1268",
5655 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5656 "footer": ""
5658 "panel1269": {
5659 "header": "1 test covers line 1269",
5660 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5661 "footer": ""
5663 "panel1270": {
5664 "header": "1 test covers line 1270",
5665 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5666 "footer": ""
5668 "panel1272": {
5669 "header": "4 tests cover line 1272",
5670 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5671 "footer": ""
5673 "panel1273": {
5674 "header": "1 test covers line 1273",
5675 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5676 "footer": ""
5678 "panel1276": {
5679 "header": "3 tests cover line 1276",
5680 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5681 "footer": ""
5683 "panel1277": {
5684 "header": "3 tests cover line 1277",
5685 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5686 "footer": ""
5688 "panel1280": {
5689 "header": "3 tests cover line 1280",
5690 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5691 "footer": ""
5693 "panel1281": {
5694 "header": "3 tests cover line 1281",
5695 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5696 "footer": ""
5698 "panel1282": {
5699 "header": "3 tests cover line 1282",
5700 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5701 "footer": ""
5703 "panel1283": {
5704 "header": "3 tests cover line 1283",
5705 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5706 "footer": ""
5708 "panel1284": {
5709 "header": "3 tests cover line 1284",
5710 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5711 "footer": ""
5713 "panel1285": {
5714 "header": "3 tests cover line 1285",
5715 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5716 "footer": ""
5718 "panel1286": {
5719 "header": "4 tests cover line 1286",
5720 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
5721 "footer": ""
5723 "panel1305": {
5724 "header": "2 tests cover line 1305",
5725 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5726 "footer": ""
5728 "panel1306": {
5729 "header": "2 tests cover line 1306",
5730 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5731 "footer": ""
5733 "panel1307": {
5734 "header": "2 tests cover line 1307",
5735 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5736 "footer": ""
5738 "panel1308": {
5739 "header": "2 tests cover line 1308",
5740 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5741 "footer": ""
5743 "panel1309": {
5744 "header": "2 tests cover line 1309",
5745 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5746 "footer": ""
5748 "panel1310": {
5749 "header": "2 tests cover line 1310",
5750 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5751 "footer": ""
5753 "panel1311": {
5754 "header": "2 tests cover line 1311",
5755 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5756 "footer": ""
5758 "panel1312": {
5759 "header": "1 test covers line 1312",
5760 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5761 "footer": ""
5763 "panel1313": {
5764 "header": "1 test covers line 1313",
5765 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5766 "footer": ""
5768 "panel1314": {
5769 "header": "1 test covers line 1314",
5770 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5771 "footer": ""
5773 "panel1316": {
5774 "header": "2 tests cover line 1316",
5775 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5776 "footer": ""
5778 "panel1317": {
5779 "header": "2 tests cover line 1317",
5780 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5781 "footer": ""
5783 "panel1318": {
5784 "header": "2 tests cover line 1318",
5785 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5786 "footer": ""
5788 "panel1334": {
5789 "header": "2 tests cover line 1334",
5790 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5791 "footer": ""
5793 "panel1337": {
5794 "header": "2 tests cover line 1337",
5795 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5796 "footer": ""
5798 "panel1356": {
5799 "header": "2 tests cover line 1356",
5800 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5801 "footer": ""
5803 "panel1359": {
5804 "header": "2 tests cover line 1359",
5805 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5806 "footer": ""
5808 "panel1360": {
5809 "header": "2 tests cover line 1360",
5810 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5811 "footer": ""
5813 "panel1361": {
5814 "header": "2 tests cover line 1361",
5815 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5816 "footer": ""
5818 "panel1363": {
5819 "header": "2 tests cover line 1363",
5820 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5821 "footer": ""
5823 "panel1366": {
5824 "header": "2 tests cover line 1366",
5825 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5826 "footer": ""
5828 "panel1367": {
5829 "header": "2 tests cover line 1367",
5830 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5831 "footer": ""
5833 "panel1383": {
5834 "header": "1 test covers line 1383",
5835 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5836 "footer": ""
5838 "panel1384": {
5839 "header": "1 test covers line 1384",
5840 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5841 "footer": ""
5843 "panel1385": {
5844 "header": "1 test covers line 1385",
5845 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5846 "footer": ""
5848 "panel1386": {
5849 "header": "1 test covers line 1386",
5850 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5851 "footer": ""
5853 "panel1387": {
5854 "header": "1 test covers line 1387",
5855 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5856 "footer": ""
5858 "panel1388": {
5859 "header": "1 test covers line 1388",
5860 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5861 "footer": ""
5863 "panel1389": {
5864 "header": "1 test covers line 1389",
5865 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5866 "footer": ""
5868 "panel1390": {
5869 "header": "1 test covers line 1390",
5870 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5871 "footer": ""
5873 "panel1392": {
5874 "header": "1 test covers line 1392",
5875 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5876 "footer": ""
5878 "panel1394": {
5879 "header": "1 test covers line 1394",
5880 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5881 "footer": ""
5883 "panel1414": {
5884 "header": "2 tests cover line 1414",
5885 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5886 "footer": ""
5888 "panel1416": {
5889 "header": "2 tests cover line 1416",
5890 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5891 "footer": ""
5893 "panel1418": {
5894 "header": "2 tests cover line 1418",
5895 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5896 "footer": ""
5898 "panel1419": {
5899 "header": "2 tests cover line 1419",
5900 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5901 "footer": ""
5903 "panel1421": {
5904 "header": "2 tests cover line 1421",
5905 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5906 "footer": ""
5908 "panel1426": {
5909 "header": "2 tests cover line 1426",
5910 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5911 "footer": ""
5913 "panel1427": {
5914 "header": "2 tests cover line 1427",
5915 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5916 "footer": ""
5918 "panel1428": {
5919 "header": "2 tests cover line 1428",
5920 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5921 "footer": ""
5923 "panel1433": {
5924 "header": "1 test covers line 1433",
5925 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5926 "footer": ""
5928 "panel1438": {
5929 "header": "1 test covers line 1438",
5930 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5931 "footer": ""
5933 "panel1444": {
5934 "header": "1 test covers line 1444",
5935 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5936 "footer": ""
5938 "panel1448": {
5939 "header": "1 test covers line 1448",
5940 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5941 "footer": ""
5943 "panel1450": {
5944 "header": "2 tests cover line 1450",
5945 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5946 "footer": ""
5948 "panel1454": {
5949 "header": "1 test covers line 1454",
5950 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5951 "footer": ""
5953 "panel1457": {
5954 "header": "1 test covers line 1457",
5955 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5956 "footer": ""
5958 "panel1459": {
5959 "header": "1 test covers line 1459",
5960 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5961 "footer": ""
5963 "panel1462": {
5964 "header": "1 test covers line 1462",
5965 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5966 "footer": ""
5968 "panel1463": {
5969 "header": "1 test covers line 1463",
5970 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5971 "footer": ""
5973 "panel1464": {
5974 "header": "1 test covers line 1464",
5975 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5976 "footer": ""
5978 "panel1467": {
5979 "header": "1 test covers line 1467",
5980 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5981 "footer": ""
5983 "panel1468": {
5984 "header": "1 test covers line 1468",
5985 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5986 "footer": ""
5988 "panel1469": {
5989 "header": "1 test covers line 1469",
5990 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5991 "footer": ""
5993 "panel1471": {
5994 "header": "1 test covers line 1471",
5995 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5996 "footer": ""
5998 "panel1473": {
5999 "header": "1 test covers line 1473",
6000 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6001 "footer": ""
6003 "panel1475": {
6004 "header": "2 tests cover line 1475",
6005 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6006 "footer": ""
6008 "panel1478": {
6009 "header": "2 tests cover line 1478",
6010 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6011 "footer": ""
6013 "panel1483": {
6014 "header": "2 tests cover line 1483",
6015 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6016 "footer": ""
6018 "panel1484": {
6019 "header": "2 tests cover line 1484",
6020 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6021 "footer": ""
6023 "panel1487": {
6024 "header": "2 tests cover line 1487",
6025 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6026 "footer": ""
6028 "panel1488": {
6029 "header": "2 tests cover line 1488",
6030 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6031 "footer": ""
6033 "panel1489": {
6034 "header": "2 tests cover line 1489",
6035 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6036 "footer": ""
6038 "panel1490": {
6039 "header": "2 tests cover line 1490",
6040 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6041 "footer": ""
6043 "panel1493": {
6044 "header": "2 tests cover line 1493",
6045 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6046 "footer": ""
6048 "panel1497": {
6049 "header": "2 tests cover line 1497",
6050 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6051 "footer": ""
6053 "panel1498": {
6054 "header": "2 tests cover line 1498",
6055 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6056 "footer": ""
6058 "panel1499": {
6059 "header": "2 tests cover line 1499",
6060 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6061 "footer": ""
6063 "panel1500": {
6064 "header": "2 tests cover line 1500",
6065 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6066 "footer": ""
6068 "panel1501": {
6069 "header": "2 tests cover line 1501",
6070 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6071 "footer": ""
6073 "panel1503": {
6074 "header": "2 tests cover line 1503",
6075 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6076 "footer": ""
6078 "panel1505": {
6079 "header": "2 tests cover line 1505",
6080 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6081 "footer": ""
6083 "panel1506": {
6084 "header": "2 tests cover line 1506",
6085 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6086 "footer": ""
6088 "panel1511": {
6089 "header": "2 tests cover line 1511",
6090 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6091 "footer": ""
6093 "panel1512": {
6094 "header": "2 tests cover line 1512",
6095 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6096 "footer": ""
6098 "panel1516": {
6099 "header": "2 tests cover line 1516",
6100 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6101 "footer": ""
6103 "panel1517": {
6104 "header": "2 tests cover line 1517",
6105 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6106 "footer": ""
6108 "panel1518": {
6109 "header": "2 tests cover line 1518",
6110 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6111 "footer": ""
6113 "panel1519": {
6114 "header": "2 tests cover line 1519",
6115 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6116 "footer": ""
6118 "panel1530": {
6119 "header": "1 test covers line 1530",
6120 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6121 "footer": ""
6123 "panel1531": {
6124 "header": "1 test covers line 1531",
6125 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6126 "footer": ""
6128 "panel1543": {
6129 "header": "20 tests cover line 1543",
6130 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6131 "footer": ""
6133 "panel1546": {
6134 "header": "20 tests cover line 1546",
6135 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6136 "footer": ""
6138 "panel1547": {
6139 "header": "20 tests cover line 1547",
6140 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6141 "footer": ""
6143 "panel1548": {
6144 "header": "20 tests cover line 1548",
6145 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6146 "footer": ""
6148 "panel1549": {
6149 "header": "7 tests cover line 1549",
6150 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6151 "footer": ""
6153 "panel1555": {
6154 "header": "1 test covers line 1555",
6155 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6156 "footer": ""
6158 "panel1556": {
6159 "header": "1 test covers line 1556",
6160 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6161 "footer": ""
6163 "panel1557": {
6164 "header": "1 test covers line 1557",
6165 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6166 "footer": ""
6168 "panel1558": {
6169 "header": "1 test covers line 1558",
6170 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6171 "footer": ""
6173 "panel1561": {
6174 "header": "1 test covers line 1561",
6175 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6176 "footer": ""
6178 "panel1562": {
6179 "header": "1 test covers line 1562",
6180 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6181 "footer": ""
6183 "panel1563": {
6184 "header": "7 tests cover line 1563",
6185 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6186 "footer": ""
6188 "panel1565": {
6189 "header": "20 tests cover line 1565",
6190 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6191 "footer": ""
6193 "panel1566": {
6194 "header": "2 tests cover line 1566",
6195 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6196 "footer": ""
6198 "panel1567": {
6199 "header": "2 tests cover line 1567",
6200 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6201 "footer": ""
6203 "panel1568": {
6204 "header": "20 tests cover line 1568",
6205 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6206 "footer": ""
6208 "panel1570": {
6209 "header": "20 tests cover line 1570",
6210 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6211 "footer": ""
6213 "panel1571": {
6214 "header": "20 tests cover line 1571",
6215 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6216 "footer": ""
6218 "panel1585": {
6219 "header": "3 tests cover line 1585",
6220 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6221 "footer": ""
6223 "panel1586": {
6224 "header": "1 test covers line 1586",
6225 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li></ul>",
6226 "footer": ""
6228 "panel1588": {
6229 "header": "3 tests cover line 1588",
6230 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6231 "footer": ""
6233 "panel1589": {
6234 "header": "3 tests cover line 1589",
6235 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6236 "footer": ""
6238 "panel1590": {
6239 "header": "3 tests cover line 1590",
6240 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6241 "footer": ""
6243 "panel1606": {
6244 "header": "26 tests cover line 1606",
6245 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6246 "footer": ""
6248 "panel1607": {
6249 "header": "18 tests cover line 1607",
6250 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6251 "footer": ""
6253 "panel1609": {
6254 "header": "23 tests cover line 1609",
6255 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6256 "footer": ""
6258 "panel1621": {
6259 "header": "3 tests cover line 1621",
6260 "body": "<ul><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6261 "footer": ""
6263 "panel1639": {
6264 "header": "32 tests cover line 1639",
6265 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6266 "footer": ""
6268 "panel1640": {
6269 "header": "2 tests cover line 1640",
6270 "body": "<ul><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li></ul>",
6271 "footer": ""
6273 "panel1642": {
6274 "header": "32 tests cover line 1642",
6275 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6276 "footer": ""
6278 "panel1655": {
6279 "header": "6 tests cover line 1655",
6280 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6281 "footer": ""
6283 "panel1667": {
6284 "header": "26 tests cover line 1667",
6285 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6286 "footer": ""
6288 "panel1676": {
6289 "header": "26 tests cover line 1676",
6290 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6291 "footer": ""
6293 "panel1679": {
6294 "header": "26 tests cover line 1679",
6295 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6296 "footer": ""
6298 "panel1680": {
6299 "header": "26 tests cover line 1680",
6300 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6301 "footer": ""
6303 "panel1681": {
6304 "header": "26 tests cover line 1681",
6305 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6306 "footer": ""
6308 "panel1682": {
6309 "header": "26 tests cover line 1682",
6310 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6311 "footer": ""
6313 "panel1683": {
6314 "header": "26 tests cover line 1683",
6315 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6316 "footer": ""
6318 "panel1684": {
6319 "header": "26 tests cover line 1684",
6320 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6321 "footer": ""
6323 "panel1685": {
6324 "header": "26 tests cover line 1685",
6325 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6326 "footer": ""
6328 "panel1687": {
6329 "header": "26 tests cover line 1687",
6330 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6331 "footer": ""
6333 "panel1689": {
6334 "header": "26 tests cover line 1689",
6335 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6336 "footer": ""
6338 "panel1691": {
6339 "header": "26 tests cover line 1691",
6340 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6341 "footer": ""
6343 "panel1692": {
6344 "header": "6 tests cover line 1692",
6345 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6346 "footer": ""
6348 "panel1693": {
6349 "header": "6 tests cover line 1693",
6350 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6351 "footer": ""
6353 "panel1694": {
6354 "header": "6 tests cover line 1694",
6355 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6356 "footer": ""
6358 "panel1697": {
6359 "header": "25 tests cover line 1697",
6360 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6361 "footer": ""
6363 "panel1698": {
6364 "header": "25 tests cover line 1698",
6365 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6366 "footer": ""
6368 "panel1699": {
6369 "header": "3 tests cover line 1699",
6370 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6371 "footer": ""
6373 "panel1700": {
6374 "header": "3 tests cover line 1700",
6375 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6376 "footer": ""
6378 "panel1701": {
6379 "header": "22 tests cover line 1701",
6380 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6381 "footer": ""
6383 "panel1703": {
6384 "header": "25 tests cover line 1703",
6385 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6386 "footer": ""
6388 "panel1704": {
6389 "header": "3 tests cover line 1704",
6390 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6391 "footer": ""
6393 "panel1705": {
6394 "header": "3 tests cover line 1705",
6395 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6396 "footer": ""
6398 "panel1706": {
6399 "header": "25 tests cover line 1706",
6400 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6401 "footer": ""
6403 "panel1707": {
6404 "header": "3 tests cover line 1707",
6405 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6406 "footer": ""
6408 "panel1708": {
6409 "header": "3 tests cover line 1708",
6410 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6411 "footer": ""
6413 "panel1709": {
6414 "header": "25 tests cover line 1709",
6415 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6416 "footer": ""
6418 "panel1710": {
6419 "header": "3 tests cover line 1710",
6420 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6421 "footer": ""
6423 "panel1711": {
6424 "header": "3 tests cover line 1711",
6425 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6426 "footer": ""
6428 "panel1713": {
6429 "header": "25 tests cover line 1713",
6430 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6431 "footer": ""
6433 "panel1716": {
6434 "header": "25 tests cover line 1716",
6435 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6436 "footer": ""
6438 "panel1718": {
6439 "header": "25 tests cover line 1718",
6440 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6441 "footer": ""
6443 "panel1733": {
6444 "header": "4 tests cover line 1733",
6445 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6446 "footer": ""
6448 "panel1735": {
6449 "header": "4 tests cover line 1735",
6450 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6451 "footer": ""
6453 "panel1736": {
6454 "header": "1 test covers line 1736",
6455 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6456 "footer": ""
6458 "panel1739": {
6459 "header": "3 tests cover line 1739",
6460 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6461 "footer": ""
6463 "panel1740": {
6464 "header": "3 tests cover line 1740",
6465 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6466 "footer": ""
6468 "panel1741": {
6469 "header": "3 tests cover line 1741",
6470 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6471 "footer": ""
6473 "panel1743": {
6474 "header": "3 tests cover line 1743",
6475 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6476 "footer": ""
6478 "panel1744": {
6479 "header": "3 tests cover line 1744",
6480 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6481 "footer": ""
6483 "panel1745": {
6484 "header": "3 tests cover line 1745",
6485 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6486 "footer": ""
6488 "panel1746": {
6489 "header": "3 tests cover line 1746",
6490 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6491 "footer": ""
6493 "panel1750": {
6494 "header": "3 tests cover line 1750",
6495 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6496 "footer": ""
6498 "panel1752": {
6499 "header": "3 tests cover line 1752",
6500 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6501 "footer": ""
6503 "panel1754": {
6504 "header": "3 tests cover line 1754",
6505 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6506 "footer": ""
6508 "panel1759": {
6509 "header": "1 test covers line 1759",
6510 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6511 "footer": ""
6513 "panel1770": {
6514 "header": "23 tests cover line 1770",
6515 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6516 "footer": ""
6518 "panel1772": {
6519 "header": "22 tests cover line 1772",
6520 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6521 "footer": ""
6523 "panel1773": {
6524 "header": "4 tests cover line 1773",
6525 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
6526 "footer": ""
6528 "panel1774": {
6529 "header": "1 test covers line 1774",
6530 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
6531 "footer": ""
6533 "panel1776": {
6534 "header": "3 tests cover line 1776",
6535 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6536 "footer": ""
6538 "panel1777": {
6539 "header": "3 tests cover line 1777",
6540 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6541 "footer": ""
6543 "panel1778": {
6544 "header": "1 test covers line 1778",
6545 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6546 "footer": ""
6548 "panel1779": {
6549 "header": "1 test covers line 1779",
6550 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6551 "footer": ""
6553 "panel1780": {
6554 "header": "1 test covers line 1780",
6555 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6556 "footer": ""
6558 "panel1781": {
6559 "header": "3 tests cover line 1781",
6560 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6561 "footer": ""
6563 "panel1782": {
6564 "header": "3 tests cover line 1782",
6565 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6566 "footer": ""
6568 "panel1783": {
6569 "header": "3 tests cover line 1783",
6570 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6571 "footer": ""
6573 "panel1786": {
6574 "header": "22 tests cover line 1786",
6575 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6576 "footer": ""
6578 "panel1787": {
6579 "header": "22 tests cover line 1787",
6580 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6581 "footer": ""
6583 "panel1788": {
6584 "header": "1 test covers line 1788",
6585 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
6586 "footer": ""
6588 "panel1789": {
6589 "header": "21 tests cover line 1789",
6590 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6591 "footer": ""
6593 "panel1791": {
6594 "header": "13 tests cover line 1791",
6595 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6596 "footer": ""
6598 "panel1792": {
6599 "header": "13 tests cover line 1792",
6600 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6601 "footer": ""
6603 "panel1793": {
6604 "header": "13 tests cover line 1793",
6605 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6606 "footer": ""
6608 "panel1794": {
6609 "header": "13 tests cover line 1794",
6610 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6611 "footer": ""
6613 "panel1795": {
6614 "header": "5 tests cover line 1795",
6615 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6616 "footer": ""
6618 "panel1796": {
6619 "header": "5 tests cover line 1796",
6620 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6621 "footer": ""
6623 "panel1798": {
6624 "header": "13 tests cover line 1798",
6625 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6626 "footer": ""
6628 "panel1799": {
6629 "header": "13 tests cover line 1799",
6630 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6631 "footer": ""
6633 "panel1800": {
6634 "header": "1 test covers line 1800",
6635 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6636 "footer": ""
6638 "panel1801": {
6639 "header": "1 test covers line 1801",
6640 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6641 "footer": ""
6643 "panel1803": {
6644 "header": "13 tests cover line 1803",
6645 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6646 "footer": ""
6648 "panel1804": {
6649 "header": "13 tests cover line 1804",
6650 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6651 "footer": ""
6653 "panel1805": {
6654 "header": "5 tests cover line 1805",
6655 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
6656 "footer": ""
6658 "panel1806": {
6659 "header": "5 tests cover line 1806",
6660 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
6661 "footer": ""
6663 "panel1808": {
6664 "header": "12 tests cover line 1808",
6665 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6666 "footer": ""
6668 "panel1809": {
6669 "header": "12 tests cover line 1809",
6670 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6671 "footer": ""
6673 "panel1810": {
6674 "header": "2 tests cover line 1810",
6675 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6676 "footer": ""
6678 "panel1811": {
6679 "header": "2 tests cover line 1811",
6680 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6681 "footer": ""
6683 "panel1813": {
6684 "header": "12 tests cover line 1813",
6685 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6686 "footer": ""
6688 "panel1814": {
6689 "header": "12 tests cover line 1814",
6690 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6691 "footer": ""
6693 "panel1815": {
6694 "header": "12 tests cover line 1815",
6695 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6696 "footer": ""
6698 "panel1816": {
6699 "header": "2 tests cover line 1816",
6700 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6701 "footer": ""
6703 "panel1817": {
6704 "header": "2 tests cover line 1817",
6705 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6706 "footer": ""
6708 "panel1818": {
6709 "header": "2 tests cover line 1818",
6710 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6711 "footer": ""
6713 "panel1819": {
6714 "header": "2 tests cover line 1819",
6715 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6716 "footer": ""
6718 "panel1820": {
6719 "header": "1 test covers line 1820",
6720 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6721 "footer": ""
6723 "panel1822": {
6724 "header": "2 tests cover line 1822",
6725 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6726 "footer": ""
6728 "panel1824": {
6729 "header": "12 tests cover line 1824",
6730 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6731 "footer": ""
6733 "panel1825": {
6734 "header": "12 tests cover line 1825",
6735 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6736 "footer": ""
6738 "panel1826": {
6739 "header": "12 tests cover line 1826",
6740 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6741 "footer": ""
6743 "panel1827": {
6744 "header": "3 tests cover line 1827",
6745 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6746 "footer": ""
6748 "panel1828": {
6749 "header": "1 test covers line 1828",
6750 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6751 "footer": ""
6753 "panel1829": {
6754 "header": "1 test covers line 1829",
6755 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6756 "footer": ""
6758 "panel1830": {
6759 "header": "1 test covers line 1830",
6760 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6761 "footer": ""
6763 "panel1831": {
6764 "header": "3 tests cover line 1831",
6765 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6766 "footer": ""
6768 "panel1833": {
6769 "header": "3 tests cover line 1833",
6770 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6771 "footer": ""
6773 "panel1835": {
6774 "header": "11 tests cover line 1835",
6775 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6776 "footer": ""
6778 "panel1836": {
6779 "header": "11 tests cover line 1836",
6780 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6781 "footer": ""
6783 "panel1837": {
6784 "header": "11 tests cover line 1837",
6785 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6786 "footer": ""
6788 "panel1838": {
6789 "header": "1 test covers line 1838",
6790 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li></ul>",
6791 "footer": ""
6793 "panel1839": {
6794 "header": "1 test covers line 1839",
6795 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li></ul>",
6796 "footer": ""
6798 "panel1840": {
6799 "header": "1 test covers line 1840",
6800 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li></ul>",
6801 "footer": ""
6803 "panel1842": {
6804 "header": "10 tests cover line 1842",
6805 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6806 "footer": ""
6808 "panel1843": {
6809 "header": "10 tests cover line 1843",
6810 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6811 "footer": ""
6813 "panel1844": {
6814 "header": "3 tests cover line 1844",
6815 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6816 "footer": ""
6818 "panel1845": {
6819 "header": "1 test covers line 1845",
6820 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6821 "footer": ""
6823 "panel1846": {
6824 "header": "1 test covers line 1846",
6825 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6826 "footer": ""
6828 "panel1847": {
6829 "header": "3 tests cover line 1847",
6830 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6831 "footer": ""
6833 "panel1848": {
6834 "header": "3 tests cover line 1848",
6835 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6836 "footer": ""
6838 "panel1851": {
6839 "header": "8 tests cover line 1851",
6840 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6841 "footer": ""
6843 "panel1852": {
6844 "header": "8 tests cover line 1852",
6845 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6846 "footer": ""
6848 "panel1853": {
6849 "header": "3 tests cover line 1853",
6850 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6851 "footer": ""
6853 "panel1854": {
6854 "header": "3 tests cover line 1854",
6855 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6856 "footer": ""
6858 "panel1855": {
6859 "header": "3 tests cover line 1855",
6860 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6861 "footer": ""
6863 "panel1858": {
6864 "header": "8 tests cover line 1858",
6865 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6866 "footer": ""
6868 "panel1859": {
6869 "header": "8 tests cover line 1859",
6870 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6871 "footer": ""
6873 "panel1860": {
6874 "header": "7 tests cover line 1860",
6875 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6876 "footer": ""
6878 "panel1861": {
6879 "header": "7 tests cover line 1861",
6880 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6881 "footer": ""
6883 "panel1862": {
6884 "header": "7 tests cover line 1862",
6885 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6886 "footer": ""
6888 "panel1864": {
6889 "header": "4 tests cover line 1864",
6890 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6891 "footer": ""
6893 "panel1865": {
6894 "header": "4 tests cover line 1865",
6895 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6896 "footer": ""
6898 "panel1866": {
6899 "header": "4 tests cover line 1866",
6900 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6901 "footer": ""
6903 "panel1867": {
6904 "header": "4 tests cover line 1867",
6905 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6906 "footer": ""
6908 "panel1868": {
6909 "header": "4 tests cover line 1868",
6910 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6911 "footer": ""
6913 "panel1872": {
6914 "header": "1 test covers line 1872",
6915 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6916 "footer": ""
6918 "panel1873": {
6919 "header": "1 test covers line 1873",
6920 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6921 "footer": ""
6923 "panel1874": {
6924 "header": "1 test covers line 1874",
6925 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6926 "footer": ""
6928 "panel1875": {
6929 "header": "1 test covers line 1875",
6930 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6931 "footer": ""
6933 "panel1876": {
6934 "header": "1 test covers line 1876",
6935 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6936 "footer": ""
6938 "panel1878": {
6939 "header": "1 test covers line 1878",
6940 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6941 "footer": ""
6943 "panel1879": {
6944 "header": "1 test covers line 1879",
6945 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6946 "footer": ""
6948 "panel1880": {
6949 "header": "13 tests cover line 1880",
6950 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6951 "footer": ""
6953 "panel1882": {
6954 "header": "13 tests cover line 1882",
6955 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6956 "footer": ""
6958 "panel1883": {
6959 "header": "1 test covers line 1883",
6960 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6961 "footer": ""
6963 "panel1884": {
6964 "header": "13 tests cover line 1884",
6965 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6966 "footer": ""
6968 "panel1885": {
6969 "header": "1 test covers line 1885",
6970 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6971 "footer": ""
6973 "panel1888": {
6974 "header": "12 tests cover line 1888",
6975 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6976 "footer": ""
6978 "panel1889": {
6979 "header": "12 tests cover line 1889",
6980 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6981 "footer": ""
6983 "panel1890": {
6984 "header": "12 tests cover line 1890",
6985 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6986 "footer": ""
6988 "panel1891": {
6989 "header": "20 tests cover line 1891",
6990 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6991 "footer": ""
6993 "panel1892": {
6994 "header": "1 test covers line 1892",
6995 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
6996 "footer": ""
6998 "panel1893": {
6999 "header": "1 test covers line 1893",
7000 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
7001 "footer": ""
7003 "panel1895": {
7004 "header": "20 tests cover line 1895",
7005 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7006 "footer": ""
7008 "panel1896": {
7009 "header": "20 tests cover line 1896",
7010 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7011 "footer": ""
7013 "panel1897": {
7014 "header": "4 tests cover line 1897",
7015 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
7016 "footer": ""
7018 "panel1898": {
7019 "header": "4 tests cover line 1898",
7020 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
7021 "footer": ""
7023 "panel1902": {
7024 "header": "20 tests cover line 1902",
7025 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7026 "footer": ""
7028 "panel1903": {
7029 "header": "1 test covers line 1903",
7030 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7031 "footer": ""
7033 "panel1904": {
7034 "header": "1 test covers line 1904",
7035 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7036 "footer": ""
7038 "panel1905": {
7039 "header": "1 test covers line 1905",
7040 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7041 "footer": ""
7043 "panel1906": {
7044 "header": "1 test covers line 1906",
7045 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7046 "footer": ""
7048 "panel1908": {
7049 "header": "1 test covers line 1908",
7050 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7051 "footer": ""
7053 "panel1909": {
7054 "header": "20 tests cover line 1909",
7055 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7056 "footer": ""
7058 "panel1913": {
7059 "header": "20 tests cover line 1913",
7060 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7061 "footer": ""
7063 "panel1927": {
7064 "header": "6 tests cover line 1927",
7065 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7066 "footer": ""
7068 "panel1929": {
7069 "header": "6 tests cover line 1929",
7070 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7071 "footer": ""
7073 "panel1930": {
7074 "header": "6 tests cover line 1930",
7075 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7076 "footer": ""
7078 "panel1931": {
7079 "header": "6 tests cover line 1931",
7080 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7081 "footer": ""
7083 "panel1932": {
7084 "header": "6 tests cover line 1932",
7085 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7086 "footer": ""
7088 "panel1933": {
7089 "header": "6 tests cover line 1933",
7090 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7091 "footer": ""
7093 "panel1934": {
7094 "header": "1 test covers line 1934",
7095 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7096 "footer": ""
7098 "panel1935": {
7099 "header": "1 test covers line 1935",
7100 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7101 "footer": ""
7103 "panel1936": {
7104 "header": "6 tests cover line 1936",
7105 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7106 "footer": ""
7108 "panel1937": {
7109 "header": "6 tests cover line 1937",
7110 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7111 "footer": ""
7113 "panel1940": {
7114 "header": "6 tests cover line 1940",
7115 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7116 "footer": ""
7118 "panel1943": {
7119 "header": "6 tests cover line 1943",
7120 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7121 "footer": ""
7123 "panel1944": {
7124 "header": "1 test covers line 1944",
7125 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7126 "footer": ""
7128 "panel1947": {
7129 "header": "6 tests cover line 1947",
7130 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7131 "footer": ""
7133 "panel1948": {
7134 "header": "6 tests cover line 1948",
7135 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7136 "footer": ""
7138 "panel1949": {
7139 "header": "3 tests cover line 1949",
7140 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7141 "footer": ""
7143 "panel1950": {
7144 "header": "3 tests cover line 1950",
7145 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7146 "footer": ""
7148 "panel1951": {
7149 "header": "6 tests cover line 1951",
7150 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7151 "footer": ""
7153 "panel1952": {
7154 "header": "6 tests cover line 1952",
7155 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7156 "footer": ""
7158 "panel1953": {
7159 "header": "6 tests cover line 1953",
7160 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7161 "footer": ""
7163 "panel1954": {
7164 "header": "1 test covers line 1954",
7165 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7166 "footer": ""
7168 "panel1955": {
7169 "header": "1 test covers line 1955",
7170 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7171 "footer": ""
7173 "panel1956": {
7174 "header": "6 tests cover line 1956",
7175 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7176 "footer": ""
7178 "panel1957": {
7179 "header": "6 tests cover line 1957",
7180 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7181 "footer": ""
7183 "panel1958": {
7184 "header": "6 tests cover line 1958",
7185 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7186 "footer": ""
7188 "panel1960": {
7189 "header": "6 tests cover line 1960",
7190 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7191 "footer": ""
7193 "panel1975": {
7194 "header": "6 tests cover line 1975",
7195 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7196 "footer": ""
7198 "panel1977": {
7199 "header": "6 tests cover line 1977",
7200 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7201 "footer": ""
7203 "panel1978": {
7204 "header": "1 test covers line 1978",
7205 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidLimits</li></ul>",
7206 "footer": ""
7208 "panel1980": {
7209 "header": "5 tests cover line 1980",
7210 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7211 "footer": ""
7213 "panel1981": {
7214 "header": "5 tests cover line 1981",
7215 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7216 "footer": ""
7218 "panel1983": {
7219 "header": "5 tests cover line 1983",
7220 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7221 "footer": ""
7223 "panel1995": {
7224 "header": "2 tests cover line 1995",
7225 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7226 "footer": ""
7228 "panel1997": {
7229 "header": "2 tests cover line 1997",
7230 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7231 "footer": ""
7233 "panel1998": {
7234 "header": "1 test covers line 1998",
7235 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7236 "footer": ""
7238 "panel2001": {
7239 "header": "2 tests cover line 2001",
7240 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7241 "footer": ""
7243 "panel2002": {
7244 "header": "2 tests cover line 2002",
7245 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7246 "footer": ""
7248 "panel2004": {
7249 "header": "2 tests cover line 2004",
7250 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7251 "footer": ""
7253 "panel2009": {
7254 "header": "1 test covers line 2009",
7255 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7256 "footer": ""
7258 "panel2012": {
7259 "header": "1 test covers line 2012",
7260 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7261 "footer": ""
7263 "panel2013": {
7264 "header": "1 test covers line 2013",
7265 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7266 "footer": ""
7268 "panel2014": {
7269 "header": "1 test covers line 2014",
7270 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7271 "footer": ""
7273 "panel2015": {
7274 "header": "1 test covers line 2015",
7275 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7276 "footer": ""
7278 "panel2016": {
7279 "header": "1 test covers line 2016",
7280 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7281 "footer": ""
7283 "panel2017": {
7284 "header": "1 test covers line 2017",
7285 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7286 "footer": ""
7288 "panel2018": {
7289 "header": "1 test covers line 2018",
7290 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7291 "footer": ""
7293 "panel2019": {
7294 "header": "1 test covers line 2019",
7295 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7296 "footer": ""
7298 "panel2020": {
7299 "header": "1 test covers line 2020",
7300 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7301 "footer": ""
7303 "panel2022": {
7304 "header": "1 test covers line 2022",
7305 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7306 "footer": ""
7308 "panel2023": {
7309 "header": "1 test covers line 2023",
7310 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7311 "footer": ""
7313 "panel2037": {
7314 "header": "19 tests cover line 2037",
7315 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7316 "footer": ""
7318 "dummy": ""
7321 YAHOO.phpunit.container.prepare = function (e) {
7322 var elemId = $E.getTarget(e).id;
7323 var line = elemId.substr(4);
7324 var panelId = "panel" + line;
7325 var containerId = "container" + line;
7327 var panelData = YAHOO.phpunit.container.panelsData[panelId];
7329 var panel = new YAHOO.widget.Panel(panelId, { visible:false, draggable:false, close:true } );
7330 panel.setHeader(panelData["header"]);
7331 panel.setBody(panelData["body"]);
7332 panel.setFooter(panelData["footer"]);
7333 panel.render(containerId);
7335 $E.addListener(elemId, "click", panel.show, panel, true);
7336 $E.removeListener(elemId, "mouseover");
7339 function init() {
7340 var ypc = YAHOO.phpunit.container;
7341 for (var panelId in ypc.panelsData) {
7342 var elemId = "line" + panelId.substr(5);
7343 $E.addListener(elemId, "mouseover", ypc.prepare);
7347 $E.addListener(window, "load", init);
7348 //]]>
7349 </script>
7350 </body>
7351 </html>