File Coverage

blib/lib/assign/Test.pm
Criterion Covered Total %
statement 38 38 100.0
branch 3 6 50.0
condition 1 3 33.3
subroutine 12 12 100.0
pod 0 2 0.0
total 54 61 88.5


line stmt bran cond sub pod time code
1 5     5   1829 use strict; use warnings;
  5     5   33  
  5         142  
  5         24  
  5         12  
  5         170  
2             package
3             assign::Test;
4 5     5   1997 use XXX;
  5         7935  
  5         18  
5              
6 5     5   2469 use assign::0;
  5         21  
  5         33  
7 5     5   32252 use Test::More;
  5         514294  
  5         52  
8 5     5   4339 use Capture::Tiny;
  5         80518  
  5         243  
9 5     5   39 use XXX;
  5         14  
  5         47  
10              
11 5     5   410 use base 'Exporter';
  5         11  
  5         1905  
12              
13             our $t = -d 't' ? 't' : 'test';
14              
15             our @EXPORT = qw(
16             $t
17             test
18             is ok pass fail like
19             capture
20             XXX
21             WWW
22             );
23              
24             sub import {
25 5     5   100 strict->import;
26 5         74 warnings->import;
27 5         8772 goto &Exporter::import;
28             }
29              
30             my $test_count = 0;
31             sub test {
32             return if
33             defined $ENV{ONLY} and
34 15 50 33 15 0 5421 $ENV{ONLY} != ++$test_count;
35              
36 15         37 $assign::0::var_prefix = '_';
37 15         28 $assign::0::var_id = 0;
38              
39 15         40 my ($spec, $label) = @_;
40              
41 15 50       118 $spec =~ /(.*\n)\+\+\+\n(.*)/s
42             or die "Invalid spec for 'test()'";
43 15         67 my ($perl, $want) = ($1, $2);
44              
45 15         68 my $got = assign::0->new(code => $perl)->transform;
46              
47 15         11408 is $got, $want, $label;
48             }
49              
50 1     1 0 147 sub capture { goto &Capture::Tiny::capture_merged }
51              
52             END {
53             package main;
54              
55 5 50   5   174994 if (not defined $ENV{PERL_ZILD_TEST_000_COMPILE_MODULES}) {
56 5         47 Test::More::done_testing();
57             }
58             }
59              
60             1;