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; |