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   1831 use strict; use warnings;
  5     5   33  
  5         149  
  5         23  
  5         7  
  5         171  
2             package
3             assign::Test;
4 5     5   2162 use XXX;
  5         8083  
  5         21  
5              
6 5     5   2424 use assign::0;
  5         20  
  5         31  
7 5     5   32070 use Test::More;
  5         515341  
  5         48  
8 5     5   4368 use Capture::Tiny;
  5         83791  
  5         241  
9 5     5   47 use XXX;
  5         16  
  5         45  
10              
11 5     5   367 use base 'Exporter';
  5         14  
  5         1952  
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   68 strict->import;
26 5         60 warnings->import;
27 5         8649 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 5067 $ENV{ONLY} != ++$test_count;
35              
36 15         32 $assign::0::var_prefix = '_';
37 15         21 $assign::0::var_id = 0;
38              
39 15         37 my ($spec, $label) = @_;
40              
41 15 50       112 $spec =~ /(.*\n)\+\+\+\n(.*)/s
42             or die "Invalid spec for 'test()'";
43 15         67 my ($perl, $want) = ($1, $2);
44              
45 15         64 my $got = assign::0->new(code => $perl)->transform;
46              
47 15         11125 is $got, $want, $label;
48             }
49              
50 1     1 0 153 sub capture { goto &Capture::Tiny::capture_merged }
51              
52             END {
53             package main;
54              
55 5 50   5   174237 if (not defined $ENV{PERL_ZILD_TEST_000_COMPILE_MODULES}) {
56 5         38 Test::More::done_testing();
57             }
58             }
59              
60             1;