The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
This file was generated by Devel::Cover Version 0.66
Devel::Cover is copyright 2001-2010, Paul Johnson (pjcj@cpan.org)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
http://www.pjcj.net
-->
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
    <meta http-equiv="Content-Language" content="en-us"></meta>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <title>File Coverage: t/2-uri.t</title>
</head>
<body>
<h1>File Coverage</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">t/2-uri.t</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="c3">100.0%</td></tr>
</table>
<div><br/></div>
<table>
<tr><th>line</th><th>stmt</th><th>bran</th><th>cond</th><th>sub</th><th>pod</th><th>time</th><th>code</th></tr>
<tr><td class="h">1</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="t-2-uri-t--subroutine.html#L1">1</a></div></td><td></td><td><div>1272034652833989</div><div>12841</div><div>9</div></td><td class="s">use Test::More;</td></tr>
<tr><td class="h">2</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="t-2-uri-t--subroutine.html#L2">1</a></div></td><td></td><td><div>433</div><div>944</div><div>38</div></td><td class="s">use FindBin;</td></tr>
<tr><td class="h">3</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="t-2-uri-t--subroutine.html#L3">1</a></div></td><td></td><td><div>164</div><div>673</div><div>8</div></td><td class="s">use lib &quot;$FindBin::Bin/lib&quot;;</td></tr>
<tr><td class="h">4</td><td colspan="7"></td></tr><tr><td class="h">5</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="t-2-uri-t--subroutine.html#L5">1</a></div></td><td></td><td><div>288</div><div>491852</div><div>7</div></td><td class="s">use Catalyst::Test &#39;TestApp&#39;;</td></tr>
<tr><td class="h">6</td><td colspan="7"></td></tr><tr><td class="h">7</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">8</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># sanity check first -- controller</td></tr>
<tr><td class="h">9</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">10</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>472627</div></td><td class="s">my $controller = TestApp-&gt;controller(&#39;Js&#39;);</td></tr>
<tr><td class="h">11</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>106</div></td><td class="s">is( ref($controller), &#39;TestApp::Controller::Js&#39;, &#39;Controller is OK&#39;);</td></tr>
<tr><td class="h">12</td><td colspan="7"></td></tr><tr><td class="h">13</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">14</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># get a context object</td></tr>
<tr><td class="h">15</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">16</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>573</div></td><td class="s">my ($res, $c) = ctx_request(&#39;/call_uri&#39;);</td></tr>
<tr><td class="h">17</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>6516</div></td><td class="s">is( ref($c), &#39;TestApp&#39;, &#39;context is OK&#39; );</td></tr>
<tr><td class="h">18</td><td colspan="7"></td></tr><tr><td class="h">19</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">20</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># test the &#39;uri_for&#39; function</td></tr>
<tr><td class="h">21</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">22</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>545</div></td><td class="s">like( $c-&gt;uri_for($controller-&gt;action_for(&#39;default&#39;), &#39;js1.js&#39;), </td></tr>
<tr><td class="h">23</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A http://\w+/js/js1\.js \? m=\d+ \z}xms, </td></tr>
<tr><td class="h">24</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;uri #1 looks good&#39;);</td></tr>
<tr><td class="h">25</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>249</div></td><td class="s">like( $c-&gt;uri_for($controller-&gt;action_for(&#39;default&#39;), &#39;js1&#39;), </td></tr>
<tr><td class="h">26</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A http://\w+/js/js1\.js \? m=\d+ \z}xms, </td></tr>
<tr><td class="h">27</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;uri #2 looks good&#39;);</td></tr>
<tr><td class="h">28</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>230</div></td><td class="s">like( $c-&gt;uri_for($controller-&gt;action_for(&#39;default&#39;), &#39;js2.js&#39;), </td></tr>
<tr><td class="h">29</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A http://\w+/js/js2\.js \? m=\d+ \z}xms, </td></tr>
<tr><td class="h">30</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;uri #3 looks good&#39;);</td></tr>
<tr><td class="h">31</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>253</div></td><td class="s">like( $c-&gt;uri_for($controller-&gt;action_for(&#39;default&#39;), &#39;js1&#39;, &#39;js2.js&#39;), </td></tr>
<tr><td class="h">32</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A http://\w+/js/js2\.js \? m=\d+ \z}xms, </td></tr>
<tr><td class="h">33</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;uri #4 looks good&#39;);</td></tr>
<tr><td class="h">34</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>230</div></td><td class="s">like( $c-&gt;uri_for($controller-&gt;action_for(&#39;default&#39;), &#39;js2&#39;, &#39;js1.js&#39;), </td></tr>
<tr><td class="h">35</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A http://\w+/js/js2\.js \? m=\d+ \z}xms, </td></tr>
<tr><td class="h">36</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;uri #5 looks good&#39;);</td></tr>
<tr><td class="h">37</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>230</div></td><td class="s">like( $c-&gt;uri_for($controller-&gt;action_for(&#39;default&#39;), &#39;js2.js&#39;, &#39;js1.js&#39;), </td></tr>
<tr><td class="h">38</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A http://\w+/js/js2\.js \? m=\d+ \z}xms, </td></tr>
<tr><td class="h">39</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;uri #6 looks good&#39;);</td></tr>
<tr><td class="h">40</td><td colspan="7"></td></tr><tr><td class="h">41</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">42</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># test getting javascript contents</td></tr>
<tr><td class="h">43</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">44</td><td colspan="7"></td></tr><tr><td class="h">45</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># single file - w/ ext</td></tr>
<tr><td class="h">46</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>237</div></td><td class="s">like( get(&#39;/js/js1.js&#39;),</td></tr>
<tr><td class="h">47</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* \z}xms,</td></tr>
<tr><td class="h">48</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #1 looks OK&#39; );</td></tr>
<tr><td class="h">49</td><td colspan="7"></td></tr><tr><td class="h">50</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># single file - w/o ext</td></tr>
<tr><td class="h">51</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>271</div></td><td class="s">like( get(&#39;/js/js1&#39;),</td></tr>
<tr><td class="h">52</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* \z}xms,</td></tr>
<tr><td class="h">53</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #2 looks OK&#39; );</td></tr>
<tr><td class="h">54</td><td colspan="7"></td></tr><tr><td class="h">55</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># not existing + single file - w/o ext</td></tr>
<tr><td class="h">56</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>248</div></td><td class="s">like( get(&#39;/js/xyz/js1&#39;),</td></tr>
<tr><td class="h">57</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* \z}xms,</td></tr>
<tr><td class="h">58</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #3 looks OK&#39; );</td></tr>
<tr><td class="h">59</td><td colspan="7"></td></tr><tr><td class="h">60</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># multiple files, last w/ ext</td></tr>
<tr><td class="h">61</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>241</div></td><td class="s">like( get(&#39;/js/js1/js2.js&#39;),</td></tr>
<tr><td class="h">62</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* /\* \s+ javascript \s+ 2 \s+ \*/ \s+ \z}xms,</td></tr>
<tr><td class="h">63</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #4 looks OK&#39; );</td></tr>
<tr><td class="h">64</td><td colspan="7"></td></tr><tr><td class="h">65</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># multiple files, first w/ ext</td></tr>
<tr><td class="h">66</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>284</div></td><td class="s">like( get(&#39;/js/js1.js/js2&#39;),</td></tr>
<tr><td class="h">67</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* /\* \s+ javascript \s+ 2 \s+ \*/ \s+ \z}xms,</td></tr>
<tr><td class="h">68</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #5 looks OK&#39; );</td></tr>
<tr><td class="h">69</td><td colspan="7"></td></tr><tr><td class="h">70</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># multiple files, all w/ ext</td></tr>
<tr><td class="h">71</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>251</div></td><td class="s">like( get(&#39;/js/js1.js/js2.js&#39;),</td></tr>
<tr><td class="h">72</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* /\* \s+ javascript \s+ 2 \s+ \*/ \s+ \z}xms,</td></tr>
<tr><td class="h">73</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #6 looks OK&#39; );</td></tr>
<tr><td class="h">74</td><td colspan="7"></td></tr><tr><td class="h">75</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># one file that depends on another, w/ extension</td></tr>
<tr><td class="h">76</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>242</div></td><td class="s">like( get(&#39;/js/js2.js&#39;),</td></tr>
<tr><td class="h">77</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* /\* \s+ javascript \s+ 2 \s+ \*/ \s+ \z}xms,</td></tr>
<tr><td class="h">78</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #7 looks OK&#39; );</td></tr>
<tr><td class="h">79</td><td colspan="7"></td></tr><tr><td class="h">80</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># one file that depends on another, w/o extension</td></tr>
<tr><td class="h">81</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>275</div></td><td class="s">like( get(&#39;/js/js2&#39;),</td></tr>
<tr><td class="h">82</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* \s+ javascript \s+ 1 \s+ \*/ \s* /\* \s+ javascript \s+ 2 \s+ \*/ \s+ \z}xms,</td></tr>
<tr><td class="h">83</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;JavaScript #8 looks OK&#39; );</td></tr>
<tr><td class="h">84</td><td colspan="7"></td></tr><tr><td class="h">85</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">86</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># fake in a &#39;minify&#39; routine that removes spaces</td></tr>
<tr><td class="h">87</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">88</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">*{TestApp::Controller::Js::minify} = sub {</td></tr>
<tr><td class="h">89</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="t-2-uri-t--subroutine.html#L89">1</a></div></td><td></td><td><div>8</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $text = shift;</td></tr>
<tr><td class="h">90</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>4</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$text =~ s{\s+}{}xmsg;</td></tr>
<tr><td class="h">91</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>7</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $text;</td></tr>
<tr><td class="h">92</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>247</div></td><td class="s">};</td></tr>
<tr><td class="h">93</td><td colspan="7"></td></tr><tr><td class="h">94</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">95</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># test minification -- CAUTION: a newline may get added at the end...</td></tr>
<tr><td class="h">96</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">#</td></tr>
<tr><td class="h">97</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>19</div></td><td class="s">like( get(&#39;/js/js1.js&#39;),</td></tr>
<tr><td class="h">98</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qr{\A /\* javascript1 \*/ \s* \z}xms,</td></tr>
<tr><td class="h">99</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;minified JavaScript looks OK&#39; );</td></tr>
<tr><td class="h">100</td><td colspan="7"></td></tr><tr><td class="h">101</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># suppress warning</td></tr>
<tr><td class="h">102</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>242</div></td><td class="s">my $dummy = *{TestApp::Controller::Js::minify};</td></tr>
<tr><td class="h">103</td><td colspan="7"></td></tr><tr><td class="h">104</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>17</div></td><td class="s">done_testing;</td></tr>
</table>
</body>
</html>