File Coverage: blib/lib/Test/Mocha/MethodCall.pm

# File Coverage

File: | blib/lib/Test/Mocha/MethodCall.pm
Coverage: | 100.0%

line | stmt | bran | cond | sub | pod | time | code
--- | --- | --- | --- | --- | --- | --- | ---
1 |  |  |  |  |  |  | package Test::Mocha::MethodCall;
2 |  |  |  |  |  |  | # ABSTRACT: Objects to represent method calls
3 |  |  |  |  |  |  | $Test::Mocha::MethodCall::VERSION = '0.61';
4 | 12 12 12 |  |  | 12 |  | 32 9 36 | use parent 'Test::Mocha::Method';
5 | 12 12 12 |  |  | 12 |  | 295 10 177 | use strict;
6 | 12 12 12 |  |  | 12 |  | 22 13 833 | use warnings;
7 |
8 |  |  |  |  |  |  | sub new {
9 |  |  |  |  |  |  | # uncoverable pod
10 | 273 |  |  | 273 | 0 | 420 | my ( $class, %args ) = @_;
11 |  |  |  |  |  |  | # caller should be an arrayref tuple [file, line]
12 |  |  |  |  |  |  | ### assert: defined $args{invocant}
13 |  |  |  |  |  |  | ### assert: defined $args{caller}
14 |  |  |  |  |  |  | ### assert: ref $args{caller} eq 'ARRAY' && @{$args{caller}} == 2
15 | 273 |  |  |  |  | 620 | return $class->SUPER::new(%args);
16 |  |  |  |  |  |  | }
17 |
18 |  |  |  |  |  |  | sub invocant {
19 |  |  |  |  |  |  | # uncoverable pod
20 | 129 |  |  | 129 | 0 | 298 | return $_[0]->{invocant};
21 |  |  |  |  |  |  | }
22 |
23 |  |  |  |  |  |  | sub caller { ## no critic (ProhibitBuiltinHomonyms)
24 |  |  |  |  |  |  | # uncoverable pod
25 | 45 45 |  |  | 45 | 0 | 22 152 | return @{ $_[0]->{caller} }; # ($file, $line)
26 |  |  |  |  |  |  | }
27 |
28 |  |  |  |  |  |  | sub stringify_long {
29 |  |  |  |  |  |  | # uncoverable pod
30 | 44 |  |  | 44 | 0 | 594 | my ($self) = @_;
31 | 44 |  |  |  |  | 68 | return sprintf '%s called at %s line %d',
32 |  |  |  |  |  |  | $self->SUPER::stringify, $self->caller;
33 |  |  |  |  |  |  | }
34 |
35 |  |  |  |  |  |  | 1;