<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Code Coverage for D:\work\log4php-trunk\src\main\php/configurators/LoggerConfigurationAdapterPHP.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="configurators.html">configurators</a> <span class="divider">/</span></li>
        <li class="active">LoggerConfigurationAdapterPHP.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="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"><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: 86.67%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">86.67%</div></td>
      <td class="success small"><div align="right">13 / 15</div></td>
     </tr>

     <tr>
      <td class="danger">LoggerConfigurationAdapterPHP</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 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">6.09</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 86.67%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">86.67%</div></td>
      <td class="success small"><div align="right">13 / 15</div></td>
     </tr>

     <tr>
      <td class="danger" colspan="4">&nbsp;<a href="#54">convert($url)</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">6.09</td>
      <td class="success big">       <div class="progress progress-success" style="width: 100px;">
        <div class="bar" style="width: 86.67%;"></div>
       </div>
</td>
      <td class="success small"><div align="right">86.67%</div></td>
      <td class="success small"><div align="right">13 / 15</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"> * @package log4php</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"></td></tr>
     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine">/**</td></tr>
     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"> * Converts PHP configuration files to a PHP array.</td></tr>
     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"> *</td></tr>
     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"> * The file should only hold the PHP config array preceded by &quot;return&quot;.</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"> * Example PHP config file:</td></tr>
     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"> * &lt;code&gt;</td></tr>
     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"> * &lt;?php</td></tr>
     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"> * return array(</td></tr>
     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"> *   'rootLogger' =&gt; array(</td></tr>
     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"> *     'level' =&gt; 'info',</td></tr>
     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"> *     'appenders' =&gt; array('default')</td></tr>
     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"> *   ),</td></tr>
     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"> *   'appenders' =&gt; array(</td></tr>
     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"> *     'default' =&gt; array(</td></tr>
     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"> *       'class' =&gt; 'LoggerAppenderEcho',</td></tr>
     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"> *       'layout' =&gt; array(</td></tr>
     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"> *           'class' =&gt; 'LoggerLayoutSimple'</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"> *     )</td></tr>
     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"> *   )</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"> * ?&gt;</td></tr>
     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"> * &lt;/code&gt;</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"> * @package log4php</td></tr>
     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"> * @subpackage configurators</td></tr>
     <tr><td><div align="right"><a name="48"></a><a href="#48">48</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="49"></a><a href="#49">49</a></div></td><td class="codeLine"> * @version $Revision: 1343601 $</td></tr>
     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"> * @since 2.2</td></tr>
     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"> */</td></tr>
     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine">class LoggerConfigurationAdapterPHP implements LoggerConfigurationAdapter</td></tr>
     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine">{</td></tr>
     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine">    public function convert($url) {</td></tr>
     <tr class="success popin" data-title="5 tests cover line 55" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testNonExistantFileWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidFileWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testEmptyConfigWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine">        if (!file_exists($url)) {</td></tr>
     <tr class="success popin" data-title="1 test covers line 56" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testNonExistantFileWarning&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">            throw new LoggerException(&quot;File [$url] does not exist.&quot;);</td></tr>
     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine">        }</td></tr>
     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"></td></tr>
     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine">        // Load the config file</td></tr>
     <tr class="success popin" data-title="4 tests cover line 60" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidFileWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testEmptyConfigWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&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">        $data = @file_get_contents($url);</td></tr>
     <tr class="success popin" data-title="4 tests cover line 61" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidFileWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testEmptyConfigWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&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">        if ($data === false) {</td></tr>
     <tr class="danger"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine">            $error = error_get_last();</td></tr>
     <tr class="danger"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine">            throw new LoggerException(&quot;Error loading config file: {$error['message']}&quot;);</td></tr>
     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine">        }</td></tr>
     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
     <tr class="success popin" data-title="4 tests cover line 66" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidFileWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testEmptyConfigWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&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">        $config = @eval('?&gt;' . $data);</td></tr>
     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"></td></tr>
     <tr class="success popin" data-title="4 tests cover line 68" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidFileWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testEmptyConfigWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&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">        if ($config === false) {</td></tr>
     <tr class="success popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidFileWarning&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">            $error = error_get_last();</td></tr>
     <tr class="success popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidFileWarning&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">            throw new LoggerException(&quot;Error parsing configuration: &quot; . $error['message']);</td></tr>
     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine">        }</td></tr>
     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"></td></tr>
     <tr class="success popin" data-title="3 tests cover line 73" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testEmptyConfigWarning&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine">        if (empty($config)) {</td></tr>
     <tr class="success popin" data-title="1 test covers line 74" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testEmptyConfigWarning&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine">            throw new LoggerException(&quot;Invalid configuration: empty configuration array.&quot;);</td></tr>
     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine">        }</td></tr>
     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"></td></tr>
     <tr class="success popin" data-title="2 tests cover line 77" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&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">        if (!is_array($config)) {</td></tr>
     <tr class="success popin" data-title="1 test covers line 78" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testInvalidConfigWarning&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">            throw new LoggerException(&quot;Invalid configuration: not an array.&quot;);</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 class="success popin" data-title="1 test covers line 81" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;LoggerConfigurationAdapterPHPTest::testConfig&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom"><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine">        return $config;</td></tr>
     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine">    }</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"></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>
