| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
#!/usr/bin/perl -w |
|
2
|
1
|
|
|
1
|
|
156895
|
use strict; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
68
|
|
|
3
|
|
|
|
|
|
|
|
|
4
|
1
|
|
|
1
|
|
525
|
use Test::More tests => 25; |
|
|
1
|
|
|
|
|
34934
|
|
|
|
1
|
|
|
|
|
8
|
|
|
5
|
1
|
|
|
1
|
|
1990
|
use Test::Exception; |
|
|
1
|
|
|
|
|
13877
|
|
|
|
1
|
|
|
|
|
6
|
|
|
6
|
|
|
|
|
|
|
|
|
7
|
1
|
|
|
1
|
|
323
|
use File::Basename; |
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
114
|
|
|
8
|
1
|
|
|
1
|
|
758
|
use Data::Dumper; |
|
|
1
|
|
|
|
|
6128
|
|
|
|
1
|
|
|
|
|
70
|
|
|
9
|
|
|
|
|
|
|
|
|
10
|
1
|
|
|
1
|
|
384
|
use lib "../lib"; |
|
|
1
|
|
|
|
|
836
|
|
|
|
1
|
|
|
|
|
4
|
|
|
11
|
|
|
|
|
|
|
|
|
12
|
1
|
|
|
1
|
|
112229
|
use_ok("Devel::PerlySense::Document"); |
|
|
1
|
|
|
|
|
737
|
|
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
13
|
|
|
13
|
1
|
|
|
1
|
|
1262
|
use_ok("Devel::PerlySense::Document::Api"); |
|
|
1
|
|
|
|
|
128
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
9
|
|
|
14
|
1
|
|
|
1
|
|
478
|
use_ok("Devel::PerlySense::Document::Location"); |
|
|
1
|
|
|
|
|
58
|
|
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
5
|
|
|
15
|
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
|
|
17
|
1
|
50
|
|
1
|
|
254
|
BEGIN { -d "t" and chdir("t"); } |
|
18
|
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
{ |
|
21
|
|
|
|
|
|
|
|
|
22
|
1
|
|
|
|
|
417
|
my $dirData = "data/project-lib"; |
|
|
1
|
|
|
|
|
5
|
|
|
23
|
1
|
|
|
|
|
3
|
my $fileOrigin = "$dirData/Game/Object/WormVisible.pm"; |
|
24
|
1
|
|
|
|
|
2
|
my $nameModule = "Game::Object::WormVisible"; |
|
25
|
|
|
|
|
|
|
|
|
26
|
1
|
|
|
|
|
3
|
my ($object, $method, $oNodeSub); |
|
27
|
0
|
|
|
|
|
0
|
my (@aMethod); |
|
28
|
0
|
|
|
|
|
0
|
my $oApi; |
|
29
|
0
|
|
|
|
|
0
|
my $oLocation; |
|
30
|
1
|
|
|
|
|
5
|
my $rexFileWorm = qr/.Game.Object.WormVisible.pm$/; |
|
31
|
1
|
|
|
|
|
4
|
my $rexFileObject = qr/.Game.ObjectVisible.pm$/; |
|
32
|
1
|
|
|
|
|
3
|
my $rexFileTable = qr/.Writer.TableVisible.pm$/; |
|
33
|
|
|
|
|
|
|
|
|
34
|
1
|
|
|
|
|
2
|
my $dirCpanFake = "data/simple-lib/lib"; |
|
35
|
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
#So that Win32::Word::Writer::TableVisible can be found outside of the project |
|
37
|
1
|
|
|
|
|
2
|
local @INC; |
|
38
|
1
|
|
|
|
|
2
|
push(@INC, $dirCpanFake); |
|
39
|
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
#Limit what the project is |
|
41
|
1
|
|
|
1
|
|
4
|
no warnings; |
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
3501
|
|
|
42
|
|
|
|
|
|
|
local *Devel::PerlySense::Project::dirProject = sub { |
|
43
|
25
|
|
|
25
|
|
162
|
$dirData; |
|
44
|
1
|
|
|
|
|
5
|
}; |
|
45
|
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
|
|
47
|
1
|
|
|
|
|
10
|
my $oPs = Devel::PerlySense->new(); |
|
48
|
1
|
|
|
|
|
8
|
ok(my $oDocument = Devel::PerlySense::Document->new(oPerlySense => $oPs), "new ok"); |
|
49
|
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
|
|
51
|
1
|
|
|
|
|
795
|
print "\n* MI inheritance, one project ancestor, one CPAN ancestor\n"; |
|
52
|
|
|
|
|
|
|
|
|
53
|
1
|
|
|
|
|
5
|
ok($oDocument->parse(file => $fileOrigin), "Parsed file ok"); |
|
54
|
|
|
|
|
|
|
|
|
55
|
1
|
|
|
|
|
703
|
ok($oDocument->determineLikelyApi("nameModule", $nameModule), " determineLikelyApi ok"); |
|
56
|
1
|
50
|
|
|
|
353
|
is(scalar(keys %{$oDocument->rhPackageApiLikely}), 1, " rhPackageApiLikely key count ok") |
|
|
1
|
|
|
|
|
29
|
|
|
57
|
|
|
|
|
|
|
or die(Dumper($oDocument->rhPackageApiLikely)); |
|
58
|
1
|
|
|
|
|
217
|
ok($oApi = $oDocument->rhPackageApiLikely->{$nameModule}, " Got Game::Object::WormVisible API"); |
|
59
|
|
|
|
|
|
|
|
|
60
|
1
|
|
|
|
|
187
|
is_deeply([sort keys %{$oApi->rhSub}], |
|
|
1
|
|
|
|
|
26
|
|
|
61
|
|
|
|
|
|
|
[sort qw/ |
|
62
|
|
|
|
|
|
|
isRealPlayer |
|
63
|
|
|
|
|
|
|
oDirection |
|
64
|
|
|
|
|
|
|
oEventMove |
|
65
|
|
|
|
|
|
|
score |
|
66
|
|
|
|
|
|
|
lengthIdeal |
|
67
|
|
|
|
|
|
|
lengthActual |
|
68
|
|
|
|
|
|
|
|
|
69
|
|
|
|
|
|
|
oLocation |
|
70
|
|
|
|
|
|
|
oLawn |
|
71
|
|
|
|
|
|
|
raBodyLocation |
|
72
|
|
|
|
|
|
|
raBodyChar |
|
73
|
|
|
|
|
|
|
isBlocking |
|
74
|
|
|
|
|
|
|
color |
|
75
|
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
moveForward |
|
77
|
|
|
|
|
|
|
oValidLocationAfterMove |
|
78
|
|
|
|
|
|
|
turn |
|
79
|
|
|
|
|
|
|
grow |
|
80
|
|
|
|
|
|
|
crash |
|
81
|
|
|
|
|
|
|
checkTick |
|
82
|
|
|
|
|
|
|
awardScorePoints |
|
83
|
|
|
|
|
|
|
loadFile |
|
84
|
|
|
|
|
|
|
|
|
85
|
|
|
|
|
|
|
new |
|
86
|
|
|
|
|
|
|
_buildBodyRight |
|
87
|
|
|
|
|
|
|
|
|
88
|
|
|
|
|
|
|
init |
|
89
|
|
|
|
|
|
|
ColumnBegin |
|
90
|
|
|
|
|
|
|
createdColumnCount |
|
91
|
|
|
|
|
|
|
columnPos |
|
92
|
|
|
|
|
|
|
alreadyCreatedRow |
|
93
|
|
|
|
|
|
|
oWriter |
|
94
|
|
|
|
|
|
|
_privateTableMethod |
|
95
|
|
|
|
|
|
|
|
|
96
|
|
|
|
|
|
|
/], |
|
97
|
|
|
|
|
|
|
" API raSub ok"); |
|
98
|
|
|
|
|
|
|
|
|
99
|
1
|
|
|
|
|
704
|
ok($oLocation = $oApi->rhSub->{_buildBodyRight}, " Got location for _buildBodyRight"); |
|
100
|
1
|
|
|
|
|
843
|
like($oLocation->file, $rexFileObject, " Correct file name"); |
|
101
|
1
|
|
|
|
|
478
|
is($oLocation->row, 153, " row"); |
|
102
|
1
|
|
|
|
|
504
|
is($oLocation->col, 1, " col"); |
|
103
|
1
|
|
|
|
|
1067
|
is($oLocation->rhProperty->{sub}, "_buildBodyRight", " rhProperty->sub"); |
|
104
|
|
|
|
|
|
|
|
|
105
|
1
|
|
|
|
|
232
|
ok($oLocation = $oApi->rhSub->{new}, " Got location for new"); |
|
106
|
1
|
|
|
|
|
215
|
like($oLocation->file, $rexFileWorm, " Correct file name"); |
|
107
|
1
|
|
|
|
|
210
|
is($oLocation->row, 142, " row"); |
|
108
|
1
|
|
|
|
|
217
|
is($oLocation->col, 1, " col"); |
|
109
|
1
|
|
|
|
|
215
|
is($oLocation->rhProperty->{sub}, "new", " rhProperty->sub"); |
|
110
|
|
|
|
|
|
|
|
|
111
|
1
|
|
|
|
|
209
|
ok($oLocation = $oApi->rhSub->{_privateTableMethod}, " Got location for _privateTableMethod"); |
|
112
|
1
|
|
|
|
|
212
|
like($oLocation->file, $rexFileTable, " Correct file name"); |
|
113
|
1
|
|
|
|
|
211
|
is($oLocation->row, 122, " row"); |
|
114
|
1
|
|
|
|
|
210
|
is($oLocation->col, 1, " col"); |
|
115
|
1
|
|
|
|
|
220
|
is($oLocation->rhProperty->{sub}, "_privateTableMethod", " rhProperty->sub"); |
|
116
|
|
|
|
|
|
|
|
|
117
|
1
|
|
|
|
|
187
|
is_deeply( |
|
118
|
|
|
|
|
|
|
[sort $oApi->aNameSubVisible( |
|
119
|
|
|
|
|
|
|
oPerlySense => $oPs, |
|
120
|
|
|
|
|
|
|
fileCurrent => $fileOrigin, |
|
121
|
|
|
|
|
|
|
)], |
|
122
|
|
|
|
|
|
|
[sort qw/ |
|
123
|
|
|
|
|
|
|
isRealPlayer |
|
124
|
|
|
|
|
|
|
oDirection |
|
125
|
|
|
|
|
|
|
oEventMove |
|
126
|
|
|
|
|
|
|
score |
|
127
|
|
|
|
|
|
|
lengthIdeal |
|
128
|
|
|
|
|
|
|
lengthActual |
|
129
|
|
|
|
|
|
|
|
|
130
|
|
|
|
|
|
|
oLocation |
|
131
|
|
|
|
|
|
|
oLawn |
|
132
|
|
|
|
|
|
|
raBodyLocation |
|
133
|
|
|
|
|
|
|
raBodyChar |
|
134
|
|
|
|
|
|
|
isBlocking |
|
135
|
|
|
|
|
|
|
color |
|
136
|
|
|
|
|
|
|
|
|
137
|
|
|
|
|
|
|
moveForward |
|
138
|
|
|
|
|
|
|
oValidLocationAfterMove |
|
139
|
|
|
|
|
|
|
turn |
|
140
|
|
|
|
|
|
|
grow |
|
141
|
|
|
|
|
|
|
crash |
|
142
|
|
|
|
|
|
|
checkTick |
|
143
|
|
|
|
|
|
|
awardScorePoints |
|
144
|
|
|
|
|
|
|
loadFile |
|
145
|
|
|
|
|
|
|
|
|
146
|
|
|
|
|
|
|
new |
|
147
|
|
|
|
|
|
|
_buildBodyRight |
|
148
|
|
|
|
|
|
|
|
|
149
|
|
|
|
|
|
|
init |
|
150
|
|
|
|
|
|
|
ColumnBegin |
|
151
|
|
|
|
|
|
|
createdColumnCount |
|
152
|
|
|
|
|
|
|
columnPos |
|
153
|
|
|
|
|
|
|
alreadyCreatedRow |
|
154
|
|
|
|
|
|
|
oWriter |
|
155
|
|
|
|
|
|
|
/], |
|
156
|
|
|
|
|
|
|
" API aNameSubVisible ok"); |
|
157
|
|
|
|
|
|
|
|
|
158
|
|
|
|
|
|
|
|
|
159
|
|
|
|
|
|
|
#print Dumper($oLocation); |
|
160
|
|
|
|
|
|
|
#print Dumper([ sort keys %{$oApi->rhSub} ]); |
|
161
|
|
|
|
|
|
|
|
|
162
|
|
|
|
|
|
|
} |
|
163
|
|
|
|
|
|
|
|
|
164
|
|
|
|
|
|
|
|
|
165
|
|
|
|
|
|
|
|
|
166
|
|
|
|
|
|
|
|
|
167
|
|
|
|
|
|
|
|
|
168
|
|
|
|
|
|
|
__END__ |