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 5     5   54345 use strict;
  5         10  
  5         141  
3 5     5   1813 use FindBin;
  5         3649  
  5         276  
4 5     5   1677 use YAML;
  5         27945  
  5         297  
5 5     5   1276 use Articulate;
  5         15  
  5         141  
6 5     5   23 use FindBin;
  5         6  
  5         157  
7 5     5   28 use Exporter::Declare;
  5         7  
  5         31  
8             default_exports qw( app_from_config app_from_data );
9              
10             sub app_from_config {
11 4   33 4 0 37 my $fn = shift // "$FindBin::Bin/environments/testing.yml";
12 4         18 $fn =~ s/(?
13 4 50       86 $fn =~ "$FindBin::Bin/environments/$fn" unless -e $fn;
14 4     4   107 open my $fh, '<:encoding(utf8)', $fn;
  4         23  
  4         6  
  4         30  
15 4         33075 my $yaml;
16 4         84 while ( defined( my $line = <$fh> ) ) { $yaml .= $line }
  452         1083  
17 4         22 my $data = YAML::Load $yaml;
18 4         131894 return app_from_data( $data->{plugins}->{Articulate} );
19             }
20              
21             sub app_from_data {
22 4     4 0 43 my $app = Articulate->new(shift);
23 4         497 $app->components->{'storage'}->empty_all_content;
24 4         178 return $app;
25             }
26              
27             1;