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 1.18
Devel::Cover is copyright 2001-2012, Paul Johnson (paul@pjcj.net)
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: blib/lib/Test/Mocha/MethodStub.pm</title>
</head>
<body>
<h1>File Coverage</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">blib/lib/Test/Mocha/MethodStub.pm</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="c2">95.5%</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></td><td></td><td></td><td></td><td></td><td></td><td class="s">package Test::Mocha::MethodStub;</td></tr>
<tr><td class="h">2</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># ABSTRACT: Objects to represent stubbed methods with arguments and responses</td></tr>
<tr><td class="h">3</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">$Test::Mocha::MethodStub::VERSION = &#39;0.61&#39;;</td></tr>
<tr><td class="h">4</td><td><div class="c3">24</div><div class="c3">24</div><div class="c3">24</div></td><td></td><td></td><td><div class="c3"><a href="blib-lib-Test-Mocha-MethodStub-pm--subroutine.html#L4">24</a></div></td><td></td><td><div>67</div><div>18</div><div>80</div></td><td class="s">use parent &#39;Test::Mocha::Method&#39;;</td></tr>
<tr><td class="h">5</td><td><div class="c3">24</div><div class="c3">24</div><div class="c3">24</div></td><td></td><td></td><td><div class="c3"><a href="blib-lib-Test-Mocha-MethodStub-pm--subroutine.html#L5">24</a></div></td><td></td><td><div>819</div><div>22</div><div>316</div></td><td class="s">use strict;</td></tr>
<tr><td class="h">6</td><td><div class="c3">24</div><div class="c3">24</div><div class="c3">24</div></td><td></td><td></td><td><div class="c3"><a href="blib-lib-Test-Mocha-MethodStub-pm--subroutine.html#L6">24</a></div></td><td></td><td><div>49</div><div>22</div><div>2443</div></td><td class="s">use warnings;</td></tr>
<tr><td class="h">7</td><td colspan="7"></td></tr><tr><td class="h">8</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub new {</td></tr>
<tr><td class="h">9</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;# uncoverable pod</td></tr>
<tr><td class="h">10</td><td><div class="c3">144</div></td><td></td><td></td><td><div class="c3"><a href="blib-lib-Test-Mocha-MethodStub-pm--subroutine.html#L10">144</a></div></td><td><div class="c3">0</div></td><td><div>669</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $class = shift;</td></tr>
<tr><td class="h">11</td><td><div class="c3">144</div></td><td></td><td></td><td></td><td></td><td><div>335</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $self&nbsp;&nbsp;= $class-&gt;SUPER::new(@_);</td></tr>
<tr><td class="h">12</td><td colspan="7"></td></tr><tr><td class="h">13</td><td><div class="c3">144</div></td><td></td><td><div class="c0"><a href="blib-lib-Test-Mocha-MethodStub-pm--condition.html#L13">50</a></div></td><td></td><td></td><td><div>1534</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$self-&gt;{responses} ||= [];&nbsp;&nbsp;# ArrayRef[ CodeRef ]</td></tr>
<tr><td class="h">14</td><td colspan="7"></td></tr><tr><td class="h">15</td><td><div class="c3">144</div></td><td></td><td></td><td></td><td></td><td><div>311</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $self;</td></tr>
<tr><td class="h">16</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">17</td><td colspan="7"></td></tr><tr><td class="h">18</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub __responses {</td></tr>
<tr><td class="h">19</td><td><div class="c3">186</div></td><td></td><td></td><td><div class="c3"><a href="blib-lib-Test-Mocha-MethodStub-pm--subroutine.html#L19">186</a></div></td><td></td><td><div>106</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($self) = @_;</td></tr>
<tr><td class="h">20</td><td><div class="c3">186</div></td><td></td><td></td><td></td><td></td><td><div>456</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;{responses};</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 colspan="7"></td></tr><tr><td class="h">23</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub cast {</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;# &quot;&quot;&quot;Convert the type of the given object to this class&quot;&quot;&quot;</td></tr>
<tr><td class="h">25</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;# uncoverable pod</td></tr>
<tr><td class="h">26</td><td><div class="c3">68</div></td><td></td><td></td><td><div class="c3"><a href="blib-lib-Test-Mocha-MethodStub-pm--subroutine.html#L26">68</a></div></td><td><div class="c3">0</div></td><td><div>52</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ( $class, $obj ) = @_;</td></tr>
<tr><td class="h">27</td><td><div class="c3">68</div></td><td></td><td><div class="c0"><a href="blib-lib-Test-Mocha-MethodStub-pm--condition.html#L27">50</a></div></td><td></td><td></td><td><div>178</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$obj-&gt;{responses} ||= [];</td></tr>
<tr><td class="h">28</td><td><div class="c3">68</div></td><td></td><td></td><td></td><td></td><td><div>97</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return bless $obj, $class;</td></tr>
<tr><td class="h">29</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">30</td><td colspan="7"></td></tr><tr><td class="h">31</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub execute_next_response {</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;# uncoverable pod</td></tr>
<tr><td class="h">33</td><td><div class="c3">118</div></td><td></td><td></td><td><div class="c3"><a href="blib-lib-Test-Mocha-MethodStub-pm--subroutine.html#L33">118</a></div></td><td><div class="c3">0</div></td><td><div>108</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ( $self, @args ) = @_;</td></tr>
<tr><td class="h">34</td><td><div class="c3">118</div></td><td></td><td></td><td></td><td></td><td><div>96</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $responses = $self-&gt;__responses;</td></tr>
<tr><td class="h">35</td><td colspan="7"></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;# return undef by default</td></tr>
<tr><td class="h">37</td><td><div class="c3">118</div><div class="c3">118</div></td><td><div class="c3" title="T/F"><a href="blib-lib-Test-Mocha-MethodStub-pm--branch.html#L37">100</a></div></td><td></td><td></td><td></td><td><div>59</div><div>159</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return if @{$responses} == 0;</td></tr>
<tr><td class="h">38</td><td colspan="7"></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;# shift the next response off the front of the queue</td></tr>
<tr><td class="h">40</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;# ... except for the last one</td></tr>
<tr><td class="h">41</td><td><div class="c3">114</div></td><td></td><td></td><td></td><td></td><td><div>140</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $response =</td></tr>
<tr><td class="h">42</td><td><div class="c3">114</div><div class="c3">10</div></td><td><div class="c3" title="T/F"><a href="blib-lib-Test-Mocha-MethodStub-pm--branch.html#L42">100</a></div></td><td></td><td></td><td></td><td><div>64</div><div>6</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@{$responses} &gt; 1 ? shift( @{$responses} ) : $responses-&gt;[0];</td></tr>
<tr><td class="h">43</td><td colspan="7"></td></tr><tr><td class="h">44</td><td><div class="c3">114</div></td><td></td><td></td><td></td><td></td><td><div>157</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $response-&gt;(@args);</td></tr>
<tr><td class="h">45</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">46</td><td colspan="7"></td></tr><tr><td class="h">47</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">1;</td></tr>
</table>
</body>
</html>