File Coverage

blib/lib/Articulate/TestEnv.pm
Criterion Covered Total %
statement 33 33 100.0
branch 1 2 50.0
condition 1 3 33.3
subroutine 9 9 100.0
pod 0 2 0.0
total 44 49 89.8


line stmt bran cond sub pod time code
1             package Articulate::TestEnv;
2 4     4   39161 use strict;
  4         8  
  4         129  
3 4     4   1616 use FindBin;
  4         2938  
  4         187  
4 4     4   1587 use YAML;
  4         22493  
  4         185  
5 4     4   881 use Articulate;
  4         11  
  4         100  
6 4     4   19 use FindBin;
  4         5  
  4         138  
7 4     4   19 use Exporter::Declare;
  4         6  
  4         32  
8             default_exports qw( app_from_config app_from_data );
9            
10             sub app_from_config {
11 3   33 3 0 28 my $fn = shift // "$FindBin::Bin/environments/testing.yml";
12 3         14 $fn =~ s/(?
13 3 50       72 $fn =~ "$FindBin::Bin/environments/$fn" unless -e $fn;
14 3     3   98 open my $fh, '<:encoding(utf8)', $fn;
  3         21  
  3         4  
  3         23  
15 3         28608 my $yaml;
16 3         62 while (defined ( my $line = <$fh> ) ) { $yaml .= $line };
  327         787  
17 3         18 my $data = YAML::Load $yaml;
18 3         111511 return app_from_data( $data->{plugins}->{Articulate} );
19             }
20            
21             sub app_from_data {
22 3     3 0 29 my $app = Articulate->new( shift );
23 3         398 $app->components->{'storage'}->empty_all_content;
24 3         1461 return $app;
25             }
26            
27             1;