<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>LoggerRendererMap.php</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <link rel="stylesheet" type="text/css" href="container.css">
    <script type="text/javascript" src="yahoo-dom-event.js"></script>
    <script type="text/javascript" src="container-min.js"></script>
  </head>

  <body class="yui-skin-sam">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr><td class="title">LoggerRendererMap.php</td></tr>
      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>

      <tr>
        <td width="100%">
          <table cellpadding="1" border="0" width="100%">
            <tr>
              <td class="headerItem" width="20%">Current file:</td>
              <td class="headerValue" width="80%"><a href="index.html">/home/ihabunek/apache/log4php/src/main/php</a>/<a href="renderers.html">renderers</a>/<a href="renderers_LoggerRendererMap.php.html">LoggerRendererMap.php</a></td>
            </tr>
            <tr>
              <td class="legendItem" width="20%">Legend:</td>
              <td class="legendValue" width="80%">
                <span class="legendCov">executed</span>
                <span class="legendNoCov">not executed</span>
                <span class="legendDeadCode">dead code</span>
              </td>
            </tr>
          </table>
        </td>
      </tr>

      <tr>
        <td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td>
      </tr>
    </table>

    <br />

    <center>
      <table width="90%" cellpadding="2" cellspacing="1" border="0">
        <tr>
          <td class="tableHead" width="30%">&nbsp;</td>
          <td class="tableHead" colspan="10">Coverage</td>
        </tr>
        <tr>
          <td class="tableHead">&nbsp;</td>
          <td class="tableHead" colspan="3">Classes</td>
          <td class="tableHead" colspan="4">Functions / Methods</td>
          <td class="tableHead" colspan="3">Lines</td>
        </tr>
        <tr>
          <td class="coverDirectory">Total</td>
          <td class="coverBar">
             <div class="coverBarOutline" title="0.00%">
                <div class="size scarlet_red"  style="width:0%" title="0.00%"></div>
             </div>
          </td>
          <td class="coverPerLo">0.00%</td>
          <td class="coverNumLo">0 / 1</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="71.43%">
                <div class="size chameleon"  style="width:71.428571428571%" title="71.43%"></div>
            </div>
          </td>
          <td class="coverPerHi">71.43%</td>
          <td class="coverNumHi">5 / 7</td>
          <td class="crap"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="82.76%">
                <div class="size chameleon"  style="width:82.758620689655%" title="82.76%"></div>
            </div>
          </td>
          <td class="coverPerHi">82.76%</td>
          <td class="coverNumHi">24 / 29</td>
        </tr>

        <tr>
          <td class="coverDirectory">LoggerRendererMap</td>
          <td class="coverBar">
             <div class="coverBarOutline" title="0.00%">
                <div class="size scarlet_red"  style="width:0%" title="0.00%"></div>
             </div>
          </td>
          <td class="coverPerLo">0.00%</td>
          <td class="coverNumLo">0 / 1</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="71.43%">
                <div class="size chameleon"  style="width:71.428571428571%" title="71.43%"></div>
            </div>
          </td>
          <td class="coverPerHi">71.43%</td>
          <td class="coverNumHi">5 / 7</td>
          <td class="crap">15.00</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="82.76%">
                <div class="size chameleon"  style="width:82.758620689655%" title="82.76%"></div>
            </div>
          </td>
          <td class="coverPerHi">82.76%</td>
          <td class="coverNumHi">24 / 29</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#52">__construct()</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="crap">1</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="100.00%">
                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">3 / 3</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#65">addRenderer($renderedClassName, $renderingClassName)</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="0.00%">
                <div class="size scarlet_red"  style="width:0%" title="0.00%"></div>
            </div>
          </td>
          <td class="coverPerLo">0.00%</td>
          <td class="coverNumLo">0 / 1</td>
          <td class="crap">2.03</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="80.00%">
                  <div class="size chameleon"  style="width:80%" title="80.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">80.00%</td>
          <td class="coverNumHi">4 / 5</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#87">findAndRender($o)</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="0.00%">
                <div class="size scarlet_red"  style="width:0%" title="0.00%"></div>
            </div>
          </td>
          <td class="coverPerLo">0.00%</td>
          <td class="coverNumLo">0 / 1</td>
          <td class="crap">5.40</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="55.56%">
                  <div class="size butter"  style="width:55.555555555556%" title="55.56%"></div>
              </div>
          </td>
          <td class="coverPerMed">55.56%</td>
          <td class="coverNumMed">5 / 9</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#112">getByObject($o)</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="crap">2</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="100.00%">
                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#126">getByClassName($class)</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="crap">3</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="100.00%">
                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">7 / 7</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#137">clear()</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="crap">1</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="100.00%">
                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">2 / 2</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#146">put($class, $or)</a></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="100.00%">
                <div class="size chameleon"  style="width:100%" title="100.00%"></div>
            </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="crap">1</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="100.00%">
                  <div class="size chameleon"  style="width:100%" title="100.00%"></div>
              </div>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">2 / 2</td>
        </tr>


      </table>
    </center>

    <br />

    <table cellpadding="0" cellspacing="0" border="0">
      <tr>
        <td><br /></td>
      </tr>
      <tr>
        <td>
<pre class="source">
<span class="lineNum" id="container1"><a name="1"></a><a href="#1" id="line1">       1</a> </span>                : &lt;?php                                                                                 
<span class="lineNum" id="container2"><a name="2"></a><a href="#2" id="line2">       2</a> </span>                : /**                                                                                   
<span class="lineNum" id="container3"><a name="3"></a><a href="#3" id="line3">       3</a> </span>                :  * Licensed to the Apache Software Foundation (ASF) under one or more                 
<span class="lineNum" id="container4"><a name="4"></a><a href="#4" id="line4">       4</a> </span>                :  * contributor license agreements. See the NOTICE file distributed with               
<span class="lineNum" id="container5"><a name="5"></a><a href="#5" id="line5">       5</a> </span>                :  * this work for additional information regarding copyright ownership.                
<span class="lineNum" id="container6"><a name="6"></a><a href="#6" id="line6">       6</a> </span>                :  * The ASF licenses this file to You under the Apache License, Version 2.0            
<span class="lineNum" id="container7"><a name="7"></a><a href="#7" id="line7">       7</a> </span>                :  * (the &quot;License&quot;); you may not use this file except in compliance with               
<span class="lineNum" id="container8"><a name="8"></a><a href="#8" id="line8">       8</a> </span>                :  * the License. You may obtain a copy of the License at                               
<span class="lineNum" id="container9"><a name="9"></a><a href="#9" id="line9">       9</a> </span>                :  *                                                                                    
<span class="lineNum" id="container10"><a name="10"></a><a href="#10" id="line10">      10</a> </span>                :  *       http://www.apache.org/licenses/LICENSE-2.0                                   
<span class="lineNum" id="container11"><a name="11"></a><a href="#11" id="line11">      11</a> </span>                :  *                                                                                    
<span class="lineNum" id="container12"><a name="12"></a><a href="#12" id="line12">      12</a> </span>                :  * Unless required by applicable law or agreed to in writing, software                
<span class="lineNum" id="container13"><a name="13"></a><a href="#13" id="line13">      13</a> </span>                :  * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,                  
<span class="lineNum" id="container14"><a name="14"></a><a href="#14" id="line14">      14</a> </span>                :  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           
<span class="lineNum" id="container15"><a name="15"></a><a href="#15" id="line15">      15</a> </span>                :  * See the License for the specific language governing permissions and                
<span class="lineNum" id="container16"><a name="16"></a><a href="#16" id="line16">      16</a> </span>                :  * limitations under the License.                                                     
<span class="lineNum" id="container17"><a name="17"></a><a href="#17" id="line17">      17</a> </span>                :  *                                                                                    
<span class="lineNum" id="container18"><a name="18"></a><a href="#18" id="line18">      18</a> </span>                :  * @package log4php                                                                   
<span class="lineNum" id="container19"><a name="19"></a><a href="#19" id="line19">      19</a> </span>                :  */                                                                                   
<span class="lineNum" id="container20"><a name="20"></a><a href="#20" id="line20">      20</a> </span>                :                                                                                       
<span class="lineNum" id="container21"><a name="21"></a><a href="#21" id="line21">      21</a> </span>                : /**                                                                                   
<span class="lineNum" id="container22"><a name="22"></a><a href="#22" id="line22">      22</a> </span>                :  * Log objects using customized renderers that implement {@link LoggerRendererObject}.
<span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23">      23</a> </span>                :  *                                                                                    
<span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24">      24</a> </span>                :  * Example:                                                                           
<span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25">      25</a> </span>                :  * {@example ../../examples/php/renderer_map.php 19}&lt;br&gt;                              
<span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26">      26</a> </span>                :  * {@example ../../examples/resources/renderer_map.properties 18}&lt;br&gt;                 
<span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27">      27</a> </span>                :  * &lt;pre&gt;                                                                              
<span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28">      28</a> </span>                :  * DEBUG - Now comes the current MyClass object:                                      
<span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29">      29</a> </span>                :  * DEBUG - Doe, John                                                                  
<span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30">      30</a> </span>                :  * &lt;/pre&gt;                                                                             
<span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31">      31</a> </span>                :  *                                                                                    
<span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32">      32</a> </span>                :  * @version $Revision: 1166187 $                                                      
<span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33">      33</a> </span>                :  * @package log4php                                                                   
<span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34">      34</a> </span>                :  * @subpackage renderers                                                              
<span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35">      35</a> </span>                :  * @since 0.3                                                                         
<span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36">      36</a> </span>                :  */                                                                                   
<span class="lineNum" id="container37"><a name="37"></a><a href="#37" id="line37">      37</a> </span>                : class LoggerRendererMap {                                                             
<span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38">      38</a> </span>                :                                                                                       
<span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39">      39</a> </span>                :     /**                                                                               
<span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40">      40</a> </span>                :      * @var array                                                                     
<span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41">      41</a> </span>                :      */                                                                               
<span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42">      42</a> </span>                :     private $map;                                                                     
<span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43">      43</a> </span>                :                                                                                       
<span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44">      44</a> </span>                :     /**                                                                               
<span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45">      45</a> </span>                :      * @var LoggerDefaultRenderer                                                     
<span class="lineNum" id="container46"><a name="46"></a><a href="#46" id="line46">      46</a> </span>                :      */                                                                               
<span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47">      47</a> </span>                :     private $defaultRenderer;                                                         
<span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48">      48</a> </span>                :                                                                                       
<span class="lineNum" id="container49"><a name="49"></a><a href="#49" id="line49">      49</a> </span>                :     /**                                                                               
<span class="lineNum" id="container50"><a name="50"></a><a href="#50" id="line50">      50</a> </span>                :      * Constructor                                                                    
<span class="lineNum" id="container51"><a name="51"></a><a href="#51" id="line51">      51</a> </span>                :      */                                                                               
<span class="lineNum" id="container52"><a name="52"></a><a href="#52" id="line52">      52</a> </span>                :     public function __construct() {                                                   
<span class="lineNum" id="container53"><a name="53"></a><a href="#53" id="line53">      53</a> </span><span class="lineCov">             10 :         $this-&gt;map = array();                                                         </span>
<span class="lineNum" id="container54"><a name="54"></a><a href="#54" id="line54">      54</a> </span><span class="lineCov">             10 :         $this-&gt;defaultRenderer = new LoggerRendererDefault();                         </span>
<span class="lineNum" id="container55"><a name="55"></a><a href="#55" id="line55">      55</a> </span><span class="lineCov">             10 :     }                                                                                 </span>
<span class="lineNum" id="container56"><a name="56"></a><a href="#56" id="line56">      56</a> </span>                :                                                                                       
<span class="lineNum" id="container57"><a name="57"></a><a href="#57" id="line57">      57</a> </span>                :     /**                                                                               
<span class="lineNum" id="container58"><a name="58"></a><a href="#58" id="line58">      58</a> </span>                :      * Add a renderer to a hierarchy passed as parameter.                             
<span class="lineNum" id="container59"><a name="59"></a><a href="#59" id="line59">      59</a> </span>                :      * Note that hierarchy must implement getRendererMap() and setRenderer() methods. 
<span class="lineNum" id="container60"><a name="60"></a><a href="#60" id="line60">      60</a> </span>                :      *                                                                                
<span class="lineNum" id="container61"><a name="61"></a><a href="#61" id="line61">      61</a> </span>                :      * @param LoggerHierarchy $repository a logger repository.                        
<span class="lineNum" id="container62"><a name="62"></a><a href="#62" id="line62">      62</a> </span>                :      * @param string $renderedClassName                                               
<span class="lineNum" id="container63"><a name="63"></a><a href="#63" id="line63">      63</a> </span>                :      * @param string $renderingClassName                                              
<span class="lineNum" id="container64"><a name="64"></a><a href="#64" id="line64">      64</a> </span>                :      */                                                                               
<span class="lineNum" id="container65"><a name="65"></a><a href="#65" id="line65">      65</a> </span>                :     public function addRenderer($renderedClassName, $renderingClassName) {            
<span class="lineNum" id="container66"><a name="66"></a><a href="#66" id="line66">      66</a> </span><span class="lineCov">              6 :         $renderer = LoggerReflectionUtils::createObject($renderingClassName);         </span>
<span class="lineNum" id="container67"><a name="67"></a><a href="#67" id="line67">      67</a> </span><span class="lineCov">              6 :         if($renderer == null) {                                                       </span>
<span class="lineNum" id="container68"><a name="68"></a><a href="#68" id="line68">      68</a> </span><span class="lineNoCov">              0 :             return;                                                                   </span>
<span class="lineNum" id="container69"><a name="69"></a><a href="#69" id="line69">      69</a> </span>                :         } else {                                                                      
<span class="lineNum" id="container70"><a name="70"></a><a href="#70" id="line70">      70</a> </span><span class="lineCov">              6 :             $this-&gt;put($renderedClassName, $renderer);                                </span>
<span class="lineNum" id="container71"><a name="71"></a><a href="#71" id="line71">      71</a> </span>                :         }                                                                             
<span class="lineNum" id="container72"><a name="72"></a><a href="#72" id="line72">      72</a> </span><span class="lineCov">              6 :     }                                                                                 </span>
<span class="lineNum" id="container73"><a name="73"></a><a href="#73" id="line73">      73</a> </span>                :                                                                                       
<span class="lineNum" id="container74"><a name="74"></a><a href="#74" id="line74">      74</a> </span>                :                                                                                       
<span class="lineNum" id="container75"><a name="75"></a><a href="#75" id="line75">      75</a> </span>                :     /**                                                                               
<span class="lineNum" id="container76"><a name="76"></a><a href="#76" id="line76">      76</a> </span>                :      * Find the appropriate renderer for the class type of the                        
<span class="lineNum" id="container77"><a name="77"></a><a href="#77" id="line77">      77</a> </span>                :      * &lt;var&gt;o&lt;/var&gt; parameter.                                                        
<span class="lineNum" id="container78"><a name="78"></a><a href="#78" id="line78">      78</a> </span>                :      *                                                                                
<span class="lineNum" id="container79"><a name="79"></a><a href="#79" id="line79">      79</a> </span>                :      * This is accomplished by calling the {@link getByObject()}                      
<span class="lineNum" id="container80"><a name="80"></a><a href="#80" id="line80">      80</a> </span>                :      * method if &lt;var&gt;o&lt;/var&gt; is object or using {@link LoggerRendererDefault}.       
<span class="lineNum" id="container81"><a name="81"></a><a href="#81" id="line81">      81</a> </span>                :      * Once a renderer is found, it is applied on the object &lt;var&gt;o&lt;/var&gt; and         
<span class="lineNum" id="container82"><a name="82"></a><a href="#82" id="line82">      82</a> </span>                :      * the result is returned as a string.                                            
<span class="lineNum" id="container83"><a name="83"></a><a href="#83" id="line83">      83</a> </span>                :      *                                                                                
<span class="lineNum" id="container84"><a name="84"></a><a href="#84" id="line84">      84</a> </span>                :      * @param mixed $o                                                                
<span class="lineNum" id="container85"><a name="85"></a><a href="#85" id="line85">      85</a> </span>                :      * @return string                                                                 
<span class="lineNum" id="container86"><a name="86"></a><a href="#86" id="line86">      86</a> </span>                :      */                                                                               
<span class="lineNum" id="container87"><a name="87"></a><a href="#87" id="line87">      87</a> </span>                :     public function findAndRender($o) {                                               
<span class="lineNum" id="container88"><a name="88"></a><a href="#88" id="line88">      88</a> </span><span class="lineCov">              3 :         if($o == null) {                                                              </span>
<span class="lineNum" id="container89"><a name="89"></a><a href="#89" id="line89">      89</a> </span><span class="lineNoCov">              0 :             return null;                                                              </span>
<span class="lineNum" id="container90"><a name="90"></a><a href="#90" id="line90">      90</a> </span>                :         } else {                                                                      
<span class="lineNum" id="container91"><a name="91"></a><a href="#91" id="line91">      91</a> </span><span class="lineCov">              3 :             if(is_object($o)) {                                                       </span>
<span class="lineNum" id="container92"><a name="92"></a><a href="#92" id="line92">      92</a> </span><span class="lineCov">              3 :                 $renderer = $this-&gt;getByObject($o);                                   </span>
<span class="lineNum" id="container93"><a name="93"></a><a href="#93" id="line93">      93</a> </span><span class="lineCov">              3 :                 if($renderer !== null) {                                              </span>
<span class="lineNum" id="container94"><a name="94"></a><a href="#94" id="line94">      94</a> </span><span class="lineCov">              3 :                     return $renderer-&gt;render($o);                                     </span>
<span class="lineNum" id="container95"><a name="95"></a><a href="#95" id="line95">      95</a> </span>                :                 } else {                                                              
<span class="lineNum" id="container96"><a name="96"></a><a href="#96" id="line96">      96</a> </span><span class="lineNoCov">              0 :                     return null;                                                      </span>
<span class="lineNum" id="container97"><a name="97"></a><a href="#97" id="line97">      97</a> </span>                :                 }                                                                     
<span class="lineNum" id="container98"><a name="98"></a><a href="#98" id="line98">      98</a> </span>                :             } else {                                                                  
<span class="lineNum" id="container99"><a name="99"></a><a href="#99" id="line99">      99</a> </span><span class="lineNoCov">              0 :                 $renderer = $this-&gt;defaultRenderer;                                   </span>
<span class="lineNum" id="container100"><a name="100"></a><a href="#100" id="line100">     100</a> </span><span class="lineNoCov">              0 :                 return $renderer-&gt;render($o);                                         </span>
<span class="lineNum" id="container101"><a name="101"></a><a href="#101" id="line101">     101</a> </span>                :             }                                                                         
<span class="lineNum" id="container102"><a name="102"></a><a href="#102" id="line102">     102</a> </span>                :         }                                                                             
<span class="lineNum" id="container103"><a name="103"></a><a href="#103" id="line103">     103</a> </span>                :     }                                                                                 
<span class="lineNum" id="container104"><a name="104"></a><a href="#104" id="line104">     104</a> </span>                :                                                                                       
<span class="lineNum" id="container105"><a name="105"></a><a href="#105" id="line105">     105</a> </span>                :     /**                                                                               
<span class="lineNum" id="container106"><a name="106"></a><a href="#106" id="line106">     106</a> </span>                :      * Syntactic sugar method that calls {@link PHP_MANUAL#get_class} with the        
<span class="lineNum" id="container107"><a name="107"></a><a href="#107" id="line107">     107</a> </span>                :      * class of the object parameter.                                                 
<span class="lineNum" id="container108"><a name="108"></a><a href="#108" id="line108">     108</a> </span>                :      *                                                                                
<span class="lineNum" id="container109"><a name="109"></a><a href="#109" id="line109">     109</a> </span>                :      * @param mixed $o                                                                
<span class="lineNum" id="container110"><a name="110"></a><a href="#110" id="line110">     110</a> </span>                :      * @return string                                                                 
<span class="lineNum" id="container111"><a name="111"></a><a href="#111" id="line111">     111</a> </span>                :      */                                                                               
<span class="lineNum" id="container112"><a name="112"></a><a href="#112" id="line112">     112</a> </span>                :     public function getByObject($o) {                                                 
<span class="lineNum" id="container113"><a name="113"></a><a href="#113" id="line113">     113</a> </span><span class="lineCov">              4 :         return ($o == null) ? null : $this-&gt;getByClassName(get_class($o));            </span>
<span class="lineNum" id="container114"><a name="114"></a><a href="#114" id="line114">     114</a> </span>                :     }                                                                                 
<span class="lineNum" id="container115"><a name="115"></a><a href="#115" id="line115">     115</a> </span>                :                                                                                       
<span class="lineNum" id="container116"><a name="116"></a><a href="#116" id="line116">     116</a> </span>                :                                                                                       
<span class="lineNum" id="container117"><a name="117"></a><a href="#117" id="line117">     117</a> </span>                :     /**                                                                               
<span class="lineNum" id="container118"><a name="118"></a><a href="#118" id="line118">     118</a> </span>                :      * Search the parents of &lt;var&gt;clazz&lt;/var&gt; for a renderer.                         
<span class="lineNum" id="container119"><a name="119"></a><a href="#119" id="line119">     119</a> </span>                :      *                                                                                
<span class="lineNum" id="container120"><a name="120"></a><a href="#120" id="line120">     120</a> </span>                :      * The renderer closest in the hierarchy will be returned. If no                  
<span class="lineNum" id="container121"><a name="121"></a><a href="#121" id="line121">     121</a> </span>                :      * renderers could be found, then the default renderer is returned.               
<span class="lineNum" id="container122"><a name="122"></a><a href="#122" id="line122">     122</a> </span>                :      *                                                                                
<span class="lineNum" id="container123"><a name="123"></a><a href="#123" id="line123">     123</a> </span>                :      * @param string $class                                                           
<span class="lineNum" id="container124"><a name="124"></a><a href="#124" id="line124">     124</a> </span>                :      * @return LoggerRendererObject                                                   
<span class="lineNum" id="container125"><a name="125"></a><a href="#125" id="line125">     125</a> </span>                :      */                                                                               
<span class="lineNum" id="container126"><a name="126"></a><a href="#126" id="line126">     126</a> </span>                :     public function getByClassName($class) {                                          
<span class="lineNum" id="container127"><a name="127"></a><a href="#127" id="line127">     127</a> </span><span class="lineCov">              8 :         $r = null;                                                                    </span>
<span class="lineNum" id="container128"><a name="128"></a><a href="#128" id="line128">     128</a> </span><span class="lineCov">              8 :         for($c = $class; !empty($c); $c = get_parent_class($c)) {                     </span>
<span class="lineNum" id="container129"><a name="129"></a><a href="#129" id="line129">     129</a> </span><span class="lineCov">              8 :             $c = strtolower($c);                                                      </span>
<span class="lineNum" id="container130"><a name="130"></a><a href="#130" id="line130">     130</a> </span><span class="lineCov">              8 :             if(isset($this-&gt;map[$c])) {                                               </span>
<span class="lineNum" id="container131"><a name="131"></a><a href="#131" id="line131">     131</a> </span><span class="lineCov">              5 :                 return $this-&gt;map[$c];                                                </span>
<span class="lineNum" id="container132"><a name="132"></a><a href="#132" id="line132">     132</a> </span>                :             }                                                                         
<span class="lineNum" id="container133"><a name="133"></a><a href="#133" id="line133">     133</a> </span><span class="lineCov">              4 :         }                                                                             </span>
<span class="lineNum" id="container134"><a name="134"></a><a href="#134" id="line134">     134</a> </span><span class="lineCov">              3 :         return $this-&gt;defaultRenderer;                                                </span>
<span class="lineNum" id="container135"><a name="135"></a><a href="#135" id="line135">     135</a> </span>                :     }                                                                                 
<span class="lineNum" id="container136"><a name="136"></a><a href="#136" id="line136">     136</a> </span>                :                                                                                       
<span class="lineNum" id="container137"><a name="137"></a><a href="#137" id="line137">     137</a> </span>                :     public function clear() {                                                         
<span class="lineNum" id="container138"><a name="138"></a><a href="#138" id="line138">     138</a> </span><span class="lineCov">             63 :         $this-&gt;map = array();                                                         </span>
<span class="lineNum" id="container139"><a name="139"></a><a href="#139" id="line139">     139</a> </span><span class="lineCov">             63 :     }                                                                                 </span>
<span class="lineNum" id="container140"><a name="140"></a><a href="#140" id="line140">     140</a> </span>                :                                                                                       
<span class="lineNum" id="container141"><a name="141"></a><a href="#141" id="line141">     141</a> </span>                :     /**                                                                               
<span class="lineNum" id="container142"><a name="142"></a><a href="#142" id="line142">     142</a> </span>                :      * Register a {@link LoggerRendererObject} for &lt;var&gt;clazz&lt;/var&gt;.                  
<span class="lineNum" id="container143"><a name="143"></a><a href="#143" id="line143">     143</a> </span>                :      * @param string $class                                                           
<span class="lineNum" id="container144"><a name="144"></a><a href="#144" id="line144">     144</a> </span>                :      * @param LoggerRendererObject $or                                                
<span class="lineNum" id="container145"><a name="145"></a><a href="#145" id="line145">     145</a> </span>                :      */                                                                               
<span class="lineNum" id="container146"><a name="146"></a><a href="#146" id="line146">     146</a> </span>                :     private function put($class, $or) {                                               
<span class="lineNum" id="container147"><a name="147"></a><a href="#147" id="line147">     147</a> </span><span class="lineCov">              6 :         $this-&gt;map[strtolower($class)] = $or;                                         </span>
<span class="lineNum" id="container148"><a name="148"></a><a href="#148" id="line148">     148</a> </span><span class="lineCov">              6 :     }                                                                                 </span>
<span class="lineNum" id="container149"><a name="149"></a><a href="#149" id="line149">     149</a> </span>                : }                                                                                     

</pre>
        </td>
      </tr>
    </table>

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
      <tr><td class="versionInfo">Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.1.1</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.3-7+squeeze3</a> and PHPUnit 3.6.3 at Sat Feb 18 22:32:39 GMT 2012.</td></tr>
    </table>

    <br />

    <script type="text/javascript">
      //<![CDATA[
      $E = YAHOO.util.Event;
      YAHOO.namespace("phpunit.container");
      YAHOO.phpunit.container.panelsData = {
        "panel53": {
          "header": "10 tests cover line 53",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testDefaultConfig</li><li class=\"testPassed\">LoggerHierarchyTest::testIfLevelIsInitiallyLevelAllg</li><li class=\"testPassed\">LoggerHierarchyTest::testIfNameIsRoot</li><li class=\"testPassed\">LoggerHierarchyTest::testIfParentIsNull</li><li class=\"testPassed\">LoggerHierarchyTest::testSetParent</li><li class=\"testPassed\">LoggerHierarchyTest::testResetConfiguration</li><li class=\"testPassed\">LoggerHierarchyTest::testSettingParents</li><li class=\"testPassed\">LoggerHierarchyTest::testExists</li><li class=\"testPassed\">LoggerHierarchyTest::testClear</li><li class=\"testPassed\">LoggerRootTest::testSetParent</li></ul>",
          "footer": ""
        },
        "panel54": {
          "header": "10 tests cover line 54",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testDefaultConfig</li><li class=\"testPassed\">LoggerHierarchyTest::testIfLevelIsInitiallyLevelAllg</li><li class=\"testPassed\">LoggerHierarchyTest::testIfNameIsRoot</li><li class=\"testPassed\">LoggerHierarchyTest::testIfParentIsNull</li><li class=\"testPassed\">LoggerHierarchyTest::testSetParent</li><li class=\"testPassed\">LoggerHierarchyTest::testResetConfiguration</li><li class=\"testPassed\">LoggerHierarchyTest::testSettingParents</li><li class=\"testPassed\">LoggerHierarchyTest::testExists</li><li class=\"testPassed\">LoggerHierarchyTest::testClear</li><li class=\"testPassed\">LoggerRootTest::testSetParent</li></ul>",
          "footer": ""
        },
        "panel55": {
          "header": "10 tests cover line 55",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testDefaultConfig</li><li class=\"testPassed\">LoggerHierarchyTest::testIfLevelIsInitiallyLevelAllg</li><li class=\"testPassed\">LoggerHierarchyTest::testIfNameIsRoot</li><li class=\"testPassed\">LoggerHierarchyTest::testIfParentIsNull</li><li class=\"testPassed\">LoggerHierarchyTest::testSetParent</li><li class=\"testPassed\">LoggerHierarchyTest::testResetConfiguration</li><li class=\"testPassed\">LoggerHierarchyTest::testSettingParents</li><li class=\"testPassed\">LoggerHierarchyTest::testExists</li><li class=\"testPassed\">LoggerHierarchyTest::testClear</li><li class=\"testPassed\">LoggerRootTest::testSetParent</li></ul>",
          "footer": ""
        },
        "panel66": {
          "header": "6 tests cover line 66",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel67": {
          "header": "6 tests cover line 67",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel70": {
          "header": "6 tests cover line 70",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel72": {
          "header": "6 tests cover line 72",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel88": {
          "header": "3 tests cover line 88",
          "body": "<ul><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel91": {
          "header": "3 tests cover line 91",
          "body": "<ul><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel92": {
          "header": "3 tests cover line 92",
          "body": "<ul><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel93": {
          "header": "3 tests cover line 93",
          "body": "<ul><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel94": {
          "header": "3 tests cover line 94",
          "body": "<ul><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel113": {
          "header": "4 tests cover line 113",
          "body": "<ul><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel127": {
          "header": "8 tests cover line 127",
          "body": "<ul><li class=\"testPassed\">LoggerLoggingEventTest::testGetThrowableInformation2</li><li class=\"testPassed\">LoggerThrowableInformationTest::testConstructor</li><li class=\"testPassed\">LoggerThrowableInformationTest::testExceptionChain</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel128": {
          "header": "8 tests cover line 128",
          "body": "<ul><li class=\"testPassed\">LoggerLoggingEventTest::testGetThrowableInformation2</li><li class=\"testPassed\">LoggerThrowableInformationTest::testConstructor</li><li class=\"testPassed\">LoggerThrowableInformationTest::testExceptionChain</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel129": {
          "header": "8 tests cover line 129",
          "body": "<ul><li class=\"testPassed\">LoggerLoggingEventTest::testGetThrowableInformation2</li><li class=\"testPassed\">LoggerThrowableInformationTest::testConstructor</li><li class=\"testPassed\">LoggerThrowableInformationTest::testExceptionChain</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel130": {
          "header": "8 tests cover line 130",
          "body": "<ul><li class=\"testPassed\">LoggerLoggingEventTest::testGetThrowableInformation2</li><li class=\"testPassed\">LoggerThrowableInformationTest::testConstructor</li><li class=\"testPassed\">LoggerThrowableInformationTest::testExceptionChain</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel131": {
          "header": "5 tests cover line 131",
          "body": "<ul><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel133": {
          "header": "4 tests cover line 133",
          "body": "<ul><li class=\"testPassed\">LoggerLoggingEventTest::testGetThrowableInformation2</li><li class=\"testPassed\">LoggerThrowableInformationTest::testConstructor</li><li class=\"testPassed\">LoggerThrowableInformationTest::testExceptionChain</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li></ul>",
          "footer": ""
        },
        "panel134": {
          "header": "3 tests cover line 134",
          "body": "<ul><li class=\"testPassed\">LoggerLoggingEventTest::testGetThrowableInformation2</li><li class=\"testPassed\">LoggerThrowableInformationTest::testConstructor</li><li class=\"testPassed\">LoggerThrowableInformationTest::testExceptionChain</li></ul>",
          "footer": ""
        },
        "panel138": {
          "header": "63 tests cover line 138",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testDefaultConfig</li><li class=\"testPassed\">LoggerConfiguratorTest::testInputIsInteger</li><li class=\"testPassed\">LoggerConfiguratorTest::testYAMLFile</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppenderConfigNotArray</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfiguratorTest::testNonexistantFile</li><li class=\"testPassed\">LoggerConfiguratorTest::testNonexistantFileFallback</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerConfiguratorTest::testThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppenderThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppenderInvalidThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testLoggerThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRootLoggerThreshold</li><li class=\"testPassed\">LoggerHierarchyTest::testResetConfiguration</li><li class=\"testPassed\">LoggerTest::testLoggerExist</li><li class=\"testPassed\">LoggerTest::testCanGetRootLogger</li><li class=\"testPassed\">LoggerTest::testCanGetASpecificLogger</li><li class=\"testPassed\">LoggerTest::testCanLogToAllLevels</li><li class=\"testPassed\">LoggerTest::testIsEnabledFor</li><li class=\"testPassed\">LoggerTest::testGetCurrentLoggers</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendDefault</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendStdout</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendStderr</li><li class=\"testPassed\">LoggerAppenderEchoTest::testAppend</li><li class=\"testPassed\">LoggerAppenderEchoTest::testHtmlLineBreaks</li><li class=\"testPassed\">LoggerAppenderFileTest::testRequiresLayout</li><li class=\"testPassed\">LoggerAppenderFileTest::testSimpleLogging</li><li class=\"testPassed\">LoggerAppenderFileTest::testAppendFlagTrue</li><li class=\"testPassed\">LoggerAppenderFileTest::testAppendFlagFalse</li><li class=\"testPassed\">LoggerAppenderPhpTest::testPhp</li><li class=\"testPassed\">LoggerAppenderSocketTest::testLogging</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testNonExistantFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li><li class=\"testPassed\">LoggerFilterDenyAllTest::testConfiguration</li><li class=\"testPassed\">LoggerFilterLevelMatchTest::testAcceptConfig</li><li class=\"testPassed\">LoggerFilterLevelMatchTest::testDenyConfig</li><li class=\"testPassed\">LoggerLayoutSerializedTest::testLayout</li><li class=\"testPassed\">LoggerLayoutSerializedTest::testLayoutWithLocationInfo</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel139": {
          "header": "63 tests cover line 139",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testDefaultConfig</li><li class=\"testPassed\">LoggerConfiguratorTest::testInputIsInteger</li><li class=\"testPassed\">LoggerConfiguratorTest::testYAMLFile</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppenderConfigNotArray</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterParamter</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderFilterClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoAppenderLayoutClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNoRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderedClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingRenderingClassSet</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerAddivity</li><li class=\"testPassed\">LoggerConfiguratorTest::testNotExistingLoggerAppendersClass</li><li class=\"testPassed\">LoggerConfiguratorTest::testNonexistantFile</li><li class=\"testPassed\">LoggerConfiguratorTest::testNonexistantFileFallback</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerConfiguratorTest::testThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppenderThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testAppenderInvalidThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testLoggerThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidLoggerThreshold</li><li class=\"testPassed\">LoggerConfiguratorTest::testInvalidRootLoggerThreshold</li><li class=\"testPassed\">LoggerHierarchyTest::testResetConfiguration</li><li class=\"testPassed\">LoggerTest::testLoggerExist</li><li class=\"testPassed\">LoggerTest::testCanGetRootLogger</li><li class=\"testPassed\">LoggerTest::testCanGetASpecificLogger</li><li class=\"testPassed\">LoggerTest::testCanLogToAllLevels</li><li class=\"testPassed\">LoggerTest::testIsEnabledFor</li><li class=\"testPassed\">LoggerTest::testGetCurrentLoggers</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendDefault</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendStdout</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendStderr</li><li class=\"testPassed\">LoggerAppenderEchoTest::testAppend</li><li class=\"testPassed\">LoggerAppenderEchoTest::testHtmlLineBreaks</li><li class=\"testPassed\">LoggerAppenderFileTest::testRequiresLayout</li><li class=\"testPassed\">LoggerAppenderFileTest::testSimpleLogging</li><li class=\"testPassed\">LoggerAppenderFileTest::testAppendFlagTrue</li><li class=\"testPassed\">LoggerAppenderFileTest::testAppendFlagFalse</li><li class=\"testPassed\">LoggerAppenderPhpTest::testPhp</li><li class=\"testPassed\">LoggerAppenderSocketTest::testLogging</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testConversion</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testNonExistantFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testInvalidXMLFile</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerWarning</li><li class=\"testPassed\">LoggerConfigurationAdapterXMLTest::testDuplicateLoggerConfig</li><li class=\"testPassed\">LoggerFilterDenyAllTest::testConfiguration</li><li class=\"testPassed\">LoggerFilterLevelMatchTest::testAcceptConfig</li><li class=\"testPassed\">LoggerFilterLevelMatchTest::testDenyConfig</li><li class=\"testPassed\">LoggerLayoutSerializedTest::testLayout</li><li class=\"testPassed\">LoggerLayoutSerializedTest::testLayoutWithLocationInfo</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel147": {
          "header": "6 tests cover line 147",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
        "panel148": {
          "header": "6 tests cover line 148",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li></ul>",
          "footer": ""
        },
      "dummy": ""
      };

      YAHOO.phpunit.container.prepare = function (e) {
        var elemId = $E.getTarget(e).id;
        var line = elemId.substr(4);
        var panelId = "panel" + line;
        var containerId = "container" + line;

        var panelData = YAHOO.phpunit.container.panelsData[panelId];

        var panel = new YAHOO.widget.Panel(panelId, { visible:false, draggable:false, close:true } );
        panel.setHeader(panelData["header"]);
        panel.setBody(panelData["body"]);
        panel.setFooter(panelData["footer"]);
        panel.render(containerId);

        $E.addListener(elemId, "click", panel.show, panel, true);
        $E.removeListener(elemId, "mouseover");
      };

      function init() {
        var ypc = YAHOO.phpunit.container;
        for (var panelId in ypc.panelsData) {
          var elemId = "line" + panelId.substr(5);
          $E.addListener(elemId, "mouseover", ypc.prepare);
        }
      }

      $E.addListener(window, "load", init);
      //]]>
    </script>
  </body>
</html>
