File Coverage

lib/Test/CPAN/Changes/ReallyStrict.pm
Criterion Covered Total %
statement 46 48 95.8
branch n/a
condition 1 2 50.0
subroutine 12 13 92.3
pod 2 2 100.0
total 61 65 93.8


line stmt bran cond sub pod time code
1 6     6   222393 use 5.008; # utf8
  6         24  
  6         226  
2 6     6   34 use strict;
  6         19  
  6         209  
3 6     6   29 use warnings;
  6         9  
  6         295  
4 6     6   1909 use utf8;
  6         27  
  6         41  
5              
6             package Test::CPAN::Changes::ReallyStrict;
7              
8             our $VERSION = '1.000001';
9              
10             #ABSTRACT: Ensure a Changes file looks exactly like it would if it was machine generated.
11              
12             our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
13              
14 6     6   6107 use CPAN::Changes 0.17;
  6         192156  
  6         222  
15 6     6   74 use Test::Builder;
  6         14  
  6         148  
16 6     6   7342 use Test::CPAN::Changes::ReallyStrict::Object;
  6         23  
  6         524  
17              
18             my $TEST = Test::Builder->new();
19              
20             sub import {
21 4     4   43 my ( undef, @args ) = @_;
22              
23 4         11 my $caller = caller;
24             {
25             ## no critic (ProhibitNoStrict);
26 6     6   62 no strict 'refs';
  6         13  
  6         8369  
  4         7  
27 4         9 *{ $caller . '::changes_ok' } = \&changes_ok;
  4         48  
28 4         9 *{ $caller . '::changes_file_ok' } = \&changes_file_ok;
  4         21  
29             }
30 4         25 $TEST->exported_to($caller);
31 4         52 $TEST->plan(@args);
32 4         6005 return 1;
33             }
34              
35              
36              
37              
38              
39              
40              
41              
42              
43              
44              
45              
46              
47             sub changes_ok {
48 1     1 1 10 my (@args) = @_;
49 1         5 return changes_file_ok( undef, @args );
50             }
51              
52             # For testing.
53             sub _real_changes_ok {
54 0     0   0 my ( $tester, $state ) = @_;
55 0         0 return _real_changes_file_ok( $tester, $state );
56             }
57              
58              
59              
60              
61              
62              
63              
64              
65              
66              
67              
68              
69              
70              
71              
72             sub changes_file_ok {
73 1     1 1 3 my ( $file, $config ) = @_;
74 1   50     8 $file ||= 'Changes';
75 1         2 $config->{filename} = $file;
76 1         12 my $changes_obj = Test::CPAN::Changes::ReallyStrict::Object->new(
77             {
78             testbuilder => $TEST,
79 1         2 %{$config},
80             },
81             );
82 1         121 return $changes_obj->changes_ok;
83             }
84              
85             # Factoring design split so testing can inject a test::builder dummy
86              
87             sub _real_changes_file_ok {
88 4     4   606 my ( $tester, $state ) = @_;
89 4         85 my $changes_obj = Test::CPAN::Changes::ReallyStrict::Object->new(
90             {
91             testbuilder => $tester,
92 4         11 %{$state},
93             },
94             );
95 4         471 return $changes_obj->changes_ok;
96             }
97              
98             1;
99              
100             __END__