<!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>LoggerFormattingInfo.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">LoggerFormattingInfo.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="helpers.html">helpers</a>/<a href="helpers_LoggerFormattingInfo.php.html">LoggerFormattingInfo.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="66.67%">
                <div class="size butter"  style="width:66.666666666667%" title="66.67%"></div>
            </div>
          </td>
          <td class="coverPerMed">66.67%</td>
          <td class="coverNumMed">2 / 3</td>
          <td class="crap"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
          <td class="coverBar">
            <div class="coverBarOutline" title="83.33%">
                <div class="size chameleon"  style="width:83.333333333333%" title="83.33%"></div>
            </div>
          </td>
          <td class="coverPerHi">83.33%</td>
          <td class="coverNumHi">5 / 6</td>
        </tr>

        <tr>
          <td class="coverDirectory">LoggerFormattingInfo</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="66.67%">
                <div class="size butter"  style="width:66.666666666667%" title="66.67%"></div>
            </div>
          </td>
          <td class="coverPerMed">66.67%</td>
          <td class="coverNumMed">2 / 3</td>
          <td class="crap">3.04</td>
          <td class="coverBar">
            <div class="coverBarOutline" title="83.33%">
                <div class="size chameleon"  style="width:83.333333333333%" title="83.33%"></div>
            </div>
          </td>
          <td class="coverPerHi">83.33%</td>
          <td class="coverNumHi">5 / 6</td>
        </tr>

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

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

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


      </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>                :  * This class encapsulates the information obtained when parsing                                                             
<span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23">      23</a> </span>                :  * formatting modifiers in conversion modifiers.                                                                             
<span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24">      24</a> </span>                :  *                                                                                                                           
<span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25">      25</a> </span>                :  * @package log4php                                                                                                          
<span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26">      26</a> </span>                :  * @subpackage helpers                                                                                                       
<span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27">      27</a> </span>                :  * @since 0.3                                                                                                                
<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>                : class LoggerFormattingInfo {                                                                                                 
<span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30">      30</a> </span>                :                                                                                                                              
<span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31">      31</a> </span>                :     public $min = -1;                                                                                                        
<span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32">      32</a> </span>                :     public $max = 0x7FFFFFFF;                                                                                                
<span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33">      33</a> </span>                :     public $leftAlign = false;                                                                                               
<span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34">      34</a> </span>                :                                                                                                                              
<span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35">      35</a> </span>                :     /**                                                                                                                      
<span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36">      36</a> </span>                :      * Constructor                                                                                                           
<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><span class="lineCov">             19 :     public function __construct() {}                                                                                         </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>                :     public function reset() {                                                                                                
<span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41">      41</a> </span><span class="lineCov">             16 :         $this-&gt;min = -1;                                                                                                     </span>
<span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42">      42</a> </span><span class="lineCov">             16 :         $this-&gt;max = 0x7FFFFFFF;                                                                                             </span>
<span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43">      43</a> </span><span class="lineCov">             16 :         $this-&gt;leftAlign = false;                                                                                            </span>
<span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44">      44</a> </span><span class="lineCov">             16 :     }                                                                                                                        </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>                :     public function dump() {                                                                                                 
<span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47">      47</a> </span>                :         // TODO: other option to dump?                                                                                       
<span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48">      48</a> </span>                :         // LoggerLog::debug(&quot;LoggerFormattingInfo::dump() min={$this-&gt;min}, max={$this-&gt;max}, leftAlign={$this-&gt;leftAlign}&quot;);
<span class="lineNum" id="container49"><a name="49"></a><a href="#49" id="line49">      49</a> </span><span class="lineNoCov">              0 :     }                                                                                                                        </span>
<span class="lineNum" id="container50"><a name="50"></a><a href="#50" id="line50">      50</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 = {
        "panel38": {
          "header": "19 tests cover line 38",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerMDCTest::testPatterns</li><li class=\"testPassed\">LoggerMDCTest::testEnvKey</li><li class=\"testPassed\">LoggerMDCTest::testServerKey</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendDefault</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendStdout</li><li class=\"testPassed\">LoggerAppenderConsoleTest::testAppendStderr</li><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerPatternParserTest::testErrorLayout</li><li class=\"testPassed\">LoggerPatternParserTest::testClassname</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testClassnamePattern</li></ul>",
          "footer": ""
        },
        "panel41": {
          "header": "16 tests cover line 41",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerMDCTest::testPatterns</li><li class=\"testPassed\">LoggerMDCTest::testEnvKey</li><li class=\"testPassed\">LoggerMDCTest::testServerKey</li><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerPatternParserTest::testErrorLayout</li><li class=\"testPassed\">LoggerPatternParserTest::testClassname</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testClassnamePattern</li></ul>",
          "footer": ""
        },
        "panel42": {
          "header": "16 tests cover line 42",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerMDCTest::testPatterns</li><li class=\"testPassed\">LoggerMDCTest::testEnvKey</li><li class=\"testPassed\">LoggerMDCTest::testServerKey</li><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerPatternParserTest::testErrorLayout</li><li class=\"testPassed\">LoggerPatternParserTest::testClassname</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testClassnamePattern</li></ul>",
          "footer": ""
        },
        "panel43": {
          "header": "16 tests cover line 43",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerMDCTest::testPatterns</li><li class=\"testPassed\">LoggerMDCTest::testEnvKey</li><li class=\"testPassed\">LoggerMDCTest::testServerKey</li><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerPatternParserTest::testErrorLayout</li><li class=\"testPassed\">LoggerPatternParserTest::testClassname</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testClassnamePattern</li></ul>",
          "footer": ""
        },
        "panel44": {
          "header": "16 tests cover line 44",
          "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerMDCTest::testPatterns</li><li class=\"testPassed\">LoggerMDCTest::testEnvKey</li><li class=\"testPassed\">LoggerMDCTest::testServerKey</li><li class=\"testPassed\">LoggerAppenderPDOTest::testSimpleWithDefaults</li><li class=\"testPassed\">LoggerAppenderPDOTest::testCustomizedSql</li><li class=\"testPassed\">LoggerAppenderPDOTest::testOldStyle</li><li class=\"testPassed\">LoggerAppenderPDOTest::testClose</li><li class=\"testPassed\">LoggerPatternParserTest::testErrorLayout</li><li class=\"testPassed\">LoggerPatternParserTest::testClassname</li><li class=\"testPassed\">LoggerLayoutPatternTest::testErrorLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testWarnLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testInfoLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testDebugLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testTraceLayout</li><li class=\"testPassed\">LoggerLayoutPatternTest::testClassnamePattern</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>
