<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Code Coverage for D:\work\log4php-trunk\src\main\php/appenders/LoggerAppenderConsole.php</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="css/bootstrap.min.css" rel="stylesheet">
  <link href="css/bootstrap-responsive.min.css" rel="stylesheet">
  <link href="css/style.css" rel="stylesheet">
  <!--[if lt IE 9]>
  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
 </head>
 <body>
  <header>
   <div class="container">
    <div class="row">
     <div class="span12">
      <ul class="breadcrumb">
        <li><a href="index.html">D:\work\log4php-trunk\src\main\php</a> <span class="divider">/</span></li>
        <li><a href="appenders.html">appenders</a> <span class="divider">/</span></li>
        <li class="active">LoggerAppenderConsole.php</li>

      </ul>
     </div>
    </div>
   </div>
  </header>
  <div class="container">
   <table class="table table-bordered">
    <thead>
     <tr>
      <td>&nbsp;</td>
      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
     </tr>
     <tr>
      <td>&nbsp;</td>
      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
     </tr>
    </thead>
    <tbody>
     <tr>
      <td class="danger">Total</td>
      <td class="danger big">       <div class="progress progress-danger" style="width: 100px;">
        <div class="bar" style="width: 0.00%;"></div>
       </div>
</td>
      <td class="danger small"><div align="right">0.00%</div></td>
      <td class="danger small"><div align="right">0 / 1</div></td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 80.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">80.00%</div></td>
      <td class="success small"><div align="right">4 / 5</div></td>
      <td class="success small"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 92.86%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">92.86%</div></td>
      <td class="success small"><div align="right">26 / 28</div></td>
     </tr>

     <tr>
      <td class="danger">LoggerAppenderConsole</td>
      <td class="danger big">       <div class="progress progress-danger" style="width: 100px;">
        <div class="bar" style="width: 0.00%;"></div>
       </div>
</td>
      <td class="danger small"><div align="right">0.00%</div></td>
      <td class="danger small"><div align="right">0 / 1</div></td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 80.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">80.00%</div></td>
      <td class="success small"><div align="right">4 / 5</div></td>
      <td class="success small">16.09</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 92.86%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">92.86%</div></td>
      <td class="success small"><div align="right">26 / 28</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#55">activateOptions()</a></td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1 / 1</div></td>
      <td class="success small">3</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">6 / 6</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#64">close()</a></td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1 / 1</div></td>
      <td class="success small">4</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">8 / 8</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#74">append(LoggerLoggingEvent $event)</a></td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1 / 1</div></td>
      <td class="success small">3</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">4 / 4</div></td>
     </tr>

     <tr>
      <td class="danger" colspan="4">&nbsp;<a href="#84">setTarget($target)</a></td>
      <td class="danger big">       <div class="progress progress-danger" style="width: 100px;">
        <div class="bar" style="width: 0.00%;"></div>
       </div>
</td>
      <td class="danger small"><div align="right">0.00%</div></td>
      <td class="danger small"><div align="right">0 / 1</div></td>
      <td class="danger small">5.27</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 77.78%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">77.78%</div></td>
      <td class="success small"><div align="right">7 / 9</div></td>
     </tr>

     <tr>
      <td class="success" colspan="4">&nbsp;<a href="#100">getTarget()</a></td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1 / 1</div></td>
      <td class="success small">1</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 100.00%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">100.00%</div></td>
      <td class="success small"><div align="right">1 / 1</div></td>
     </tr>


    </tbody>
   </table>
   <table class="table table-borderless table-condensed">
    <tbody>
     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine">&lt;?php</td></tr>
     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine">/**</td></tr>
     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"> * Licensed to the Apache Software Foundation (ASF) under one or more</td></tr>
     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"> * contributor license agreements. See the NOTICE file distributed with</td></tr>
     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"> * this work for additional information regarding copyright ownership.</td></tr>
     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"> * The ASF licenses this file to You under the Apache License, Version 2.0</td></tr>
     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"> * (the &quot;License&quot;); you may not use this file except in compliance with</td></tr>
     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"> * the License. You may obtain a copy of the License at</td></tr>
     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"> *       http://www.apache.org/licenses/LICENSE-2.0</td></tr>
     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"> * Unless required by applicable law or agreed to in writing, software</td></tr>
     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</td></tr>
     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</td></tr>
     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"> * See the License for the specific language governing permissions and</td></tr>
     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"> * limitations under the License.</td></tr>
     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"> */</td></tr>
     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine">/**</td></tr>
     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"> * LoggerAppenderConsole appends log events either to the standard output</td></tr>
     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"> * stream (php://stdout) or the standard error stream (php://stderr).</td></tr>
     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"> * **Note**: Use this Appender with command-line php scripts. On web scripts</td></tr>
     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"> * this appender has no effects.</td></tr>
     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"> * This appender uses a layout.</td></tr>
     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"> * ## Configurable parameters: ##</td></tr>
     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"> * - **target** - the target stream: &quot;stdout&quot; or &quot;stderr&quot;</td></tr>
     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"> * @version $Revision: 1343601 $</td></tr>
     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"> * @package log4php</td></tr>
     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"> * @subpackage appenders</td></tr>
     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"> * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0</td></tr>
     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"> * @link http://logging.apache.org/log4php/docs/appenders/console.html Appender documentation</td></tr>
     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"> */</td></tr>
     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"> class LoggerAppenderConsole extends LoggerAppender {</td></tr>
     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine">    /** The standard otuput stream.  */</td></tr>
     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine">    const STDOUT = 'php://stdout';</td></tr>
     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine">    /** The standard error stream.*/</td></tr>
     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine">    const STDERR = 'php://stderr';</td></tr>
     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine">    /** The 'target' parameter. */</td></tr>
     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine">    protected $target = self::STDOUT;</td></tr>
     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine">    /**</td></tr>
     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine">     * Stream resource for the target stream.</td></tr>
     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine">     * @var resource</td></tr>
     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine">     */</td></tr>
     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine">    protected $fp = null;</td></tr>
     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine">    public function activateOptions() {</td></tr>
     <tr class="success popin" data-title="8 tests cover line 56" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine">        $this-&gt;fp = fopen($this-&gt;target, 'w');</td></tr>
     <tr class="success popin" data-title="8 tests cover line 57" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine">        if(is_resource($this-&gt;fp) &amp;&amp; $this-&gt;layout !== null) {</td></tr>
     <tr class="success popin" data-title="8 tests cover line 58" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine">            fwrite($this-&gt;fp, $this-&gt;layout-&gt;getHeader());</td></tr>
     <tr class="success popin" data-title="8 tests cover line 59" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine">        }</td></tr>
     <tr class="success popin" data-title="8 tests cover line 60" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine">        $this-&gt;closed = (bool)is_resource($this-&gt;fp) === false;</td></tr>
     <tr class="success popin" data-title="8 tests cover line 61" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine">    }</td></tr>
     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine">    public function close() {</td></tr>
     <tr class="success popin" data-title="16 tests cover line 65" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine">        if($this-&gt;closed != true) {</td></tr>
     <tr class="success popin" data-title="16 tests cover line 66" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine">            if (is_resource($this-&gt;fp) &amp;&amp; $this-&gt;layout !== null) {</td></tr>
     <tr class="success popin" data-title="8 tests cover line 67" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine">                fwrite($this-&gt;fp, $this-&gt;layout-&gt;getFooter());</td></tr>
     <tr class="success popin" data-title="8 tests cover line 68" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine">                fclose($this-&gt;fp);</td></tr>
     <tr class="success popin" data-title="8 tests cover line 69" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine">            }</td></tr>
     <tr class="success popin" data-title="16 tests cover line 70" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine">            $this-&gt;closed = true;</td></tr>
     <tr class="success popin" data-title="16 tests cover line 71" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine">        }</td></tr>
     <tr class="success popin" data-title="16 tests cover line 72" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterParamter&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderFilterClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoAppenderLayoutClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testInvalidRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNoRenderedClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfiguratorTest::testNotExistingRenderingClassSet&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerHierarchyTest::testResetConfiguration&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testRequiresLayout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderEchoTest::testAppend&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerRendererMapTest::testXMLConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine">    }</td></tr>
     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine">    public function append(LoggerLoggingEvent $event) {</td></tr>
     <tr class="success popin" data-title="3 tests cover line 75" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine">        if (is_resource($this-&gt;fp) &amp;&amp; $this-&gt;layout !== null) {</td></tr>
     <tr class="success popin" data-title="3 tests cover line 76" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine">            fwrite($this-&gt;fp, $this-&gt;layout-&gt;format($event));</td></tr>
     <tr class="success popin" data-title="3 tests cover line 77" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine">        }</td></tr>
     <tr class="success popin" data-title="3 tests cover line 78" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine">    }</td></tr>
     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine">    /**</td></tr>
     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine">     * Sets the 'target' parameter.</td></tr>
     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine">     * @param string $target</td></tr>
     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine">     */</td></tr>
     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine">    public function setTarget($target) {</td></tr>
     <tr class="success popin" data-title="2 tests cover line 85" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine">        $value = trim($target);</td></tr>
     <tr class="success popin" data-title="2 tests cover line 86" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine">        if ($value == self::STDOUT || strtoupper($value) == 'STDOUT') {</td></tr>
     <tr class="success popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine">            $this-&gt;target = self::STDOUT;</td></tr>
     <tr class="success popin" data-title="2 tests cover line 88" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine">        } elseif ($value == self::STDERR || strtoupper($value) == 'STDERR') {</td></tr>
     <tr class="success popin" data-title="1 test covers line 89" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine">            $this-&gt;target = self::STDERR;</td></tr>
     <tr class="success popin" data-title="1 test covers line 90" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine">        } else {</td></tr>
     <tr class="danger"><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine">            $target = var_export($target);</td></tr>
     <tr class="danger"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine">            $this-&gt;warn(&quot;Invalid value given for 'target' property: [$target]. Property not set.&quot;);</td></tr>
     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine">        }</td></tr>
     <tr class="success popin" data-title="2 tests cover line 94" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine">    }</td></tr>
     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine">    /**</td></tr>
     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine">     * Returns the value of the 'target' parameter.</td></tr>
     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine">     * @return string</td></tr>
     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine">     */</td></tr>
     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine">    public function getTarget() {</td></tr>
     <tr class="success popin" data-title="3 tests cover line 101" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendDefault&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStdout&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerAppenderConsoleTest::testAppendStderr&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine">        return $this-&gt;target;</td></tr>
     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine">    }</td></tr>
     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine">}</td></tr>

    </tbody>
   </table>
   <footer>
    <h4>Legend</h4>
    <p>
     <span class="success"><strong>Executed</strong></span>
     <span class="danger"><strong>Not Executed</strong></span>
     <span class="warning"><strong>Dead Code</strong></span>
    </p>
    <p>
     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.3</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.13</a> and <a href="http://phpunit.de/">PHPUnit 3.7.6</a> at Sat Oct 13 8:58:14 BST 2012.</small>
    </p>
   </footer>
  </div>
  <script src="js/jquery.min.js" type="text/javascript"></script>
  <script src="js/bootstrap.min.js" type="text/javascript"></script>
  <script type="text/javascript">$('.popin').popover({trigger: 'hover'});</script>
 </body>
</html>
