<!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>LoggerAppenderPool.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">LoggerAppenderPool.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="LoggerAppenderPool.php.html">LoggerAppenderPool.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="16.67%">
                <div class="size scarlet_red"  style="width:16.666666666667%" title="16.67%"></div>
            </div>
          </td>
          <td class="coverPerLo">16.67%</td>
          <td class="coverNumLo">1 / 6</td>
          <td class="crap"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="56.25%">
                <div class="size butter"  style="width:56.25%" title="56.25%"></div>
            </div>
          </td>
          <td class="coverPerMed">56.25%</td>
          <td class="coverNumMed">9 / 16</td>
        </tr>

        <tr>
          <td class="coverDirectory">LoggerAppenderPool</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="16.67%">
                <div class="size scarlet_red"  style="width:16.666666666667%" title="16.67%"></div>
            </div>
          </td>
          <td class="coverPerLo">16.67%</td>
          <td class="coverNumLo">1 / 6</td>
          <td class="crap">15.78</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="56.25%">
                <div class="size butter"  style="width:56.25%" title="56.25%"></div>
            </div>
          </td>
          <td class="coverPerMed">56.25%</td>
          <td class="coverNumMed">9 / 16</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#42">add(LoggerAppender $appender)</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">3.10</td>
          <td class="coverBar">
              <div class="coverBarOutline" title="77.78%">
                  <div class="size chameleon"  style="width:77.777777777778%" title="77.78%"></div>
              </div>
          </td>
          <td class="coverPerHi">77.78%</td>
          <td class="coverNumHi">7 / 9</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#64">get($name)</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">6</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>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#72">delete($name)</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</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 / 2</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#80">getAppenders()</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</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>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#89">exists($name)</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</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>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#96">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>


      </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>                :  * Pool implmentation for LoggerAppender instances.                                                                           
<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>                :  * The pool is used when configuring log4php. First all appender instances                                                    
<span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25">      25</a> </span>                :  * are created in the pool. Afterward, they are linked to loggers, each                                                       
<span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26">      26</a> </span>                :  * appender can be linked to multiple loggers. This makes sure duplicate                                                      
<span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27">      27</a> </span>                :  * appenders are not created.                                                                                                 
<span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28">      28</a> </span>                :  *                                                                                                                            
<span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29">      29</a> </span>                :  * @version $Revision: 795727 $                                                                                               
<span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30">      30</a> </span>                :  * @package log4php                                                                                                           
<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>                : class LoggerAppenderPool {                                                                                                    
<span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33">      33</a> </span>                :                                                                                                                               
<span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34">      34</a> </span>                :     /** Holds appenders indexed by their name */                                                                              
<span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35">      35</a> </span>                :     public static $appenders =  array();                                                                                      
<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>                :     /**                                                                                                                       
<span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38">      38</a> </span>                :      * Adds an appender to the pool.                                                                                          
<span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39">      39</a> </span>                :      * The appender must be named for this operation.                                                                         
<span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40">      40</a> </span>                :      * @param LoggerAppender $appender                                                                                        
<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>                :     public static function add(LoggerAppender $appender)                                                                      
<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="lineCov">              2 :         $name = $appender-&gt;getName();                                                                                         </span>
<span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45">      45</a> </span>                :                                                                                                                               
<span class="lineNum" id="container46"><a name="46"></a><a href="#46" id="line46">      46</a> </span><span class="lineCov">              2 :         if(empty($name)) {                                                                                                    </span>
<span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47">      47</a> </span><span class="lineCov">              1 :             trigger_error('log4php: Cannot add unnamed appender to pool.', E_USER_WARNING);                                   </span>
<span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48">      48</a> </span><span class="lineNoCov">              0 :             return;                                                                                                           </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>                :                                                                                                                               
<span class="lineNum" id="container51"><a name="51"></a><a href="#51" id="line51">      51</a> </span><span class="lineCov">              1 :         if (isset(self::$appenders[$name])) {                                                                                 </span>
<span class="lineNum" id="container52"><a name="52"></a><a href="#52" id="line52">      52</a> </span><span class="lineCov">              1 :             trigger_error(&quot;log4php: Appender [$name] already exists in pool. Overwriting existing appender.&quot;, E_USER_WARNING);</span>
<span class="lineNum" id="container53"><a name="53"></a><a href="#53" id="line53">      53</a> </span><span class="lineNoCov">              0 :         }                                                                                                                     </span>
<span class="lineNum" id="container54"><a name="54"></a><a href="#54" id="line54">      54</a> </span>                :                                                                                                                               
<span class="lineNum" id="container55"><a name="55"></a><a href="#55" id="line55">      55</a> </span><span class="lineCov">              1 :         self::$appenders[$name] = $appender;                                                                                  </span>
<span class="lineNum" id="container56"><a name="56"></a><a href="#56" id="line56">      56</a> </span><span class="lineCov">              1 :     }                                                                                                                         </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>                :     /**                                                                                                                       
<span class="lineNum" id="container59"><a name="59"></a><a href="#59" id="line59">      59</a> </span>                :      * Retrieves an appender from the pool by name.                                                                           
<span class="lineNum" id="container60"><a name="60"></a><a href="#60" id="line60">      60</a> </span>                :      * @param string $name Name of the appender to retrieve.                                                                  
<span class="lineNum" id="container61"><a name="61"></a><a href="#61" id="line61">      61</a> </span>                :      * @return LoggerAppender The named appender or NULL if no such appender                                                  
<span class="lineNum" id="container62"><a name="62"></a><a href="#62" id="line62">      62</a> </span>                :      *  exists in the pool.                                                                                                   
<span class="lineNum" id="container63"><a name="63"></a><a href="#63" id="line63">      63</a> </span>                :      */                                                                                                                       
<span class="lineNum" id="container64"><a name="64"></a><a href="#64" id="line64">      64</a> </span>                :     public static function get($name) {                                                                                       
<span class="lineNum" id="container65"><a name="65"></a><a href="#65" id="line65">      65</a> </span><span class="lineNoCov">              0 :         return isset(self::$appenders[$name]) ? self::$appenders[$name] : null;                                               </span>
<span class="lineNum" id="container66"><a name="66"></a><a href="#66" id="line66">      66</a> </span>                :     }                                                                                                                         
<span class="lineNum" id="container67"><a name="67"></a><a href="#67" id="line67">      67</a> </span>                :                                                                                                                               
<span class="lineNum" id="container68"><a name="68"></a><a href="#68" id="line68">      68</a> </span>                :     /**                                                                                                                       
<span class="lineNum" id="container69"><a name="69"></a><a href="#69" id="line69">      69</a> </span>                :     * Removes an appender from the pool by name.                                                                              
<span class="lineNum" id="container70"><a name="70"></a><a href="#70" id="line70">      70</a> </span>                :     * @param string $name Name of the appender to remove.                                                                     
<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>                :     public static function delete($name) {                                                                                    
<span class="lineNum" id="container73"><a name="73"></a><a href="#73" id="line73">      73</a> </span><span class="lineNoCov">              0 :         unset(self::$appenders[$name]);                                                                                       </span>
<span class="lineNum" id="container74"><a name="74"></a><a href="#74" id="line74">      74</a> </span><span class="lineNoCov">              0 :     }                                                                                                                         </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>                :     /**                                                                                                                       
<span class="lineNum" id="container77"><a name="77"></a><a href="#77" id="line77">      77</a> </span>                :      * Returns all appenders from the pool.                                                                                   
<span class="lineNum" id="container78"><a name="78"></a><a href="#78" id="line78">      78</a> </span>                :      * @return array Array of LoggerAppender objects.                                                                         
<span class="lineNum" id="container79"><a name="79"></a><a href="#79" id="line79">      79</a> </span>                :      */                                                                                                                       
<span class="lineNum" id="container80"><a name="80"></a><a href="#80" id="line80">      80</a> </span>                :     public static function getAppenders() {                                                                                   
<span class="lineNum" id="container81"><a name="81"></a><a href="#81" id="line81">      81</a> </span><span class="lineNoCov">              0 :         return self::$appenders;                                                                                              </span>
<span class="lineNum" id="container82"><a name="82"></a><a href="#82" id="line82">      82</a> </span>                :     }                                                                                                                         
<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>                :     /**                                                                                                                       
<span class="lineNum" id="container85"><a name="85"></a><a href="#85" id="line85">      85</a> </span>                :      * Checks whether an appender exists in the pool.                                                                         
<span class="lineNum" id="container86"><a name="86"></a><a href="#86" id="line86">      86</a> </span>                :      * @param string $name Name of the appender to look for.                                                                  
<span class="lineNum" id="container87"><a name="87"></a><a href="#87" id="line87">      87</a> </span>                :      * @return boolean TRUE if the appender with the given name exists.                                                       
<span class="lineNum" id="container88"><a name="88"></a><a href="#88" id="line88">      88</a> </span>                :      */                                                                                                                       
<span class="lineNum" id="container89"><a name="89"></a><a href="#89" id="line89">      89</a> </span>                :     public static function exists($name) {                                                                                    
<span class="lineNum" id="container90"><a name="90"></a><a href="#90" id="line90">      90</a> </span><span class="lineNoCov">              0 :         return isset(self::$appenders[$name]);                                                                                </span>
<span class="lineNum" id="container91"><a name="91"></a><a href="#91" id="line91">      91</a> </span>                :     }                                                                                                                         
<span class="lineNum" id="container92"><a name="92"></a><a href="#92" id="line92">      92</a> </span>                :                                                                                                                               
<span class="lineNum" id="container93"><a name="93"></a><a href="#93" id="line93">      93</a> </span>                :     /**                                                                                                                       
<span class="lineNum" id="container94"><a name="94"></a><a href="#94" id="line94">      94</a> </span>                :      * Clears all appenders from the pool.                                                                                    
<span class="lineNum" id="container95"><a name="95"></a><a href="#95" id="line95">      95</a> </span>                :      */                                                                                                                       
<span class="lineNum" id="container96"><a name="96"></a><a href="#96" id="line96">      96</a> </span>                :     public static function clear() {                                                                                          
<span class="lineNum" id="container97"><a name="97"></a><a href="#97" id="line97">      97</a> </span><span class="lineCov">             63 :          self::$appenders =  array();                                                                                         </span>
<span class="lineNum" id="container98"><a name="98"></a><a href="#98" id="line98">      98</a> </span><span class="lineCov">             63 :     }                                                                                                                         </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 = {
        "panel44": {
          "header": "2 tests cover line 44",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderHasNoName</li><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderIsAdded</li></ul>",
          "footer": ""
        },
        "panel46": {
          "header": "2 tests cover line 46",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderHasNoName</li><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderIsAdded</li></ul>",
          "footer": ""
        },
        "panel47": {
          "header": "1 test covers line 47",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderHasNoName</li></ul>",
          "footer": ""
        },
        "panel51": {
          "header": "1 test covers line 51",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderIsAdded</li></ul>",
          "footer": ""
        },
        "panel52": {
          "header": "1 test covers line 52",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderIsAdded</li></ul>",
          "footer": ""
        },
        "panel55": {
          "header": "1 test covers line 55",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderIsAdded</li></ul>",
          "footer": ""
        },
        "panel56": {
          "header": "1 test covers line 56",
          "body": "<ul><li class=\"testPassed\">LoggerAppenderPoolTest::testAppenderIsAdded</li></ul>",
          "footer": ""
        },
        "panel97": {
          "header": "63 tests cover line 97",
          "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": ""
        },
        "panel98": {
          "header": "63 tests cover line 98",
          "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": ""
        },
      "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>
