File Coverage

.test_mimic_data/lib/RecordMe.pm
Criterion Covered Total %
statement 31 48 64.5
branch 0 4 0.0
condition n/a
subroutine 11 22 50.0
pod 0 11 0.0
total 42 85 49.4


line stmt bran cond sub pod time code
1             package RecordMe;
2              
3 1     1   14 use strict;
  1         1  
  1         36  
4 1     1   5 use warnings;
  1         2  
  1         37  
5              
6             BEGIN {
7 1     1   6 Test::Mimic::prepare_for_use();
8             }
9              
10 1     1   5 use Scalar::Util;
  1         1  
  1         48  
11              
12 1     1   5 use Test::Mimic::Library qw< execute get_references HISTORY decode destringify >;
  1         1  
  1         59  
13 1     1   6 use Test::Mimic::Library::PlayScalar;
  1         2  
  1         20  
14 1     1   4 use Test::Mimic::Library::PlayArray;
  1         2  
  1         19  
15 1     1   5 use Test::Mimic::Library::PlayHash;
  1         2  
  1         122  
16              
17             BEGIN {
18 1     1   4 my $references = get_references();
19              
20 1         11 tie( $RecordMe::scalar_state, q, $references->[3]->[HISTORY] );
21 1         16 tie( @RecordMe::array_state, q, $references->[2]->[HISTORY] );
22 1         13 tie( %RecordMe::hash_state, q, $references->[0]->[HISTORY] );
23 1         11 tie( @RecordMe::ISA, q, $references->[1]->[HISTORY] );
24             }
25              
26             use constant {
27 1         4 'ARR' => decode( destringify( '$VAR1 = [
28             202,
29             [
30             \'ARRAY\',
31             [
32             [
33             200,
34             \'a\'
35             ],
36             [
37             200,
38             \'b\'
39             ],
40             [
41             200,
42             \'c\'
43             ],
44             [
45             200,
46             \'d\'
47             ],
48             [
49             200,
50             \'e\'
51             ],
52             [
53             200,
54             \'f\'
55             ],
56             [
57             200,
58             \'g\'
59             ],
60             [
61             200,
62             \'h\'
63             ],
64             [
65             200,
66             \'i\'
67             ],
68             [
69             200,
70             \'j\'
71             ],
72             [
73             200,
74             \'k\'
75             ],
76             [
77             200,
78             \'l\'
79             ],
80             [
81             200,
82             \'m\'
83             ],
84             [
85             200,
86             \'n\'
87             ],
88             [
89             200,
90             \'o\'
91             ],
92             [
93             200,
94             \'p\'
95             ],
96             [
97             200,
98             \'q\'
99             ],
100             [
101             200,
102             \'r\'
103             ],
104             [
105             200,
106             \'s\'
107             ],
108             [
109             200,
110             \'t\'
111             ],
112             [
113             200,
114             \'u\'
115             ],
116             [
117             200,
118             \'v\'
119             ],
120             [
121             200,
122             \'w\'
123             ],
124             [
125             200,
126             \'x\'
127             ],
128             [
129             200,
130             \'y\'
131             ],
132             [
133             200,
134             \'z\'
135             ]
136             ]
137             ]
138             ];
139             ' ) ),
140             'PI' => decode( destringify( '$VAR1 = [
141             200,
142             3
143             ];
144             ' ) ),
145 1     1   84 };
  1         2  
146              
147             {
148             my %ancestors = qw< Grandpa 400 RecordMe 400 Grandma 400 Mom 400 Dad 400 >;
149              
150             sub isa {
151 0     0 0 0 my ( $self, $type ) = @_;
152              
153 0 0       0 if ( Scalar::Util::reftype($self) ) {
154 0         0 my $name = Scalar::Util::blessed($self);
155 0 0       0 if ($name) {
156 0         0 return exists( $ancestors{$name} );
157             }
158             else {
159 0         0 return ();
160             }
161             }
162             else {
163 0         0 return exists( $ancestors{$self} );
164             }
165             }
166             }
167              
168             {
169             my $behavior = destringify( '$VAR1 = {
170             \'order\' => [
171             undef,
172             undef,
173             [
174             [
175             3,
176             {
177             \'0\' => [
178             201,
179             \'5\'
180             ]
181             }
182             ],
183             [
184             300
185             ],
186             [
187             3,
188             {
189             \'0\' => [
190             201,
191             \'5\'
192             ]
193             }
194             ],
195             [
196             300
197             ],
198             [
199             3,
200             {
201             \'0\' => [
202             201,
203             \'7\'
204             ]
205             }
206             ],
207             [
208             300
209             ],
210             [
211             3,
212             {
213             \'0\' => [
214             201,
215             \'7\'
216             ]
217             }
218             ],
219             [
220             300
221             ],
222             [
223             3,
224             {
225             \'0\' => [
226             201,
227             \'7\'
228             ]
229             }
230             ],
231             [
232             300
233             ],
234             [
235             3,
236             {
237             \'1\' => [
238             201,
239             \'8\'
240             ],
241             \'0\' => [
242             201,
243             \'7\'
244             ]
245             }
246             ],
247             [
248             300
249             ],
250             [
251             3,
252             {
253             \'0\' => [
254             201,
255             \'10\'
256             ]
257             }
258             ],
259             [
260             300
261             ],
262             [
263             3,
264             {
265             \'0\' => [
266             201,
267             \'10\'
268             ],
269             \'2\' => [
270             201,
271             \'11\'
272             ]
273             }
274             ],
275             [
276             300
277             ],
278             [
279             3,
280             {
281             \'0\' => [
282             201,
283             \'10\'
284             ],
285             \'2\' => [
286             201,
287             \'13\'
288             ]
289             }
290             ],
291             [
292             300
293             ]
294             ]
295             ]
296             };
297             ' );
298              
299             sub put {
300 0     0 0 0 return execute( q, q, $behavior, \@_ );
301             }
302             }
303              
304             {
305             my $behavior = destringify( '$VAR1 = {
306             \'order\' => [
307             [
308             [
309             1,
310             {}
311             ],
312             [
313             300,
314             [
315             200,
316             \'positive\'
317             ]
318             ],
319             [
320             1,
321             {}
322             ],
323             [
324             300,
325             [
326             200,
327             \'zero\'
328             ]
329             ],
330             [
331             1,
332             {}
333             ],
334             [
335             300,
336             [
337             200,
338             \'negative\'
339             ]
340             ]
341             ],
342             [
343             [
344             1,
345             {}
346             ],
347             [
348             300,
349             [
350             202,
351             [
352             \'ARRAY\',
353             [
354             [
355             200,
356             \'positive\'
357             ]
358             ]
359             ]
360             ]
361             ]
362             ],
363             [
364             [
365             1,
366             {}
367             ],
368             [
369             300
370             ],
371             [
372             1,
373             {}
374             ],
375             [
376             300
377             ],
378             [
379             1,
380             {}
381             ],
382             [
383             300
384             ]
385             ]
386             ]
387             };
388             ' );
389              
390             sub pos_or_neg {
391 2     2 0 20689 return execute( q, q, $behavior, \@_ );
392             }
393             }
394              
395             {
396             my $behavior = destringify( '$VAR1 = {
397             \'order\' => [
398             [
399             [
400             2,
401             {
402             \'0\' => [
403             201,
404             \'5\'
405             ]
406             }
407             ],
408             [
409             300,
410             [
411             200,
412             \'bill\'
413             ]
414             ],
415             [
416             2,
417             {
418             \'0\' => [
419             201,
420             \'5\'
421             ]
422             }
423             ],
424             [
425             300,
426             [
427             200,
428             \'jane\'
429             ]
430             ]
431             ]
432             ]
433             };
434             ' );
435              
436             sub get {
437 0     0 0   return execute( q, q, $behavior, \@_ );
438             }
439             }
440              
441             {
442             my $behavior = destringify( '$VAR1 = {
443             \'order\' => [
444             [
445             [
446             1,
447             {}
448             ],
449             [
450             300,
451             [
452             201,
453             \'4\'
454             ]
455             ],
456             [
457             1,
458             {}
459             ],
460             [
461             300,
462             [
463             201,
464             \'6\'
465             ]
466             ],
467             [
468             1,
469             {}
470             ],
471             [
472             300,
473             [
474             201,
475             \'9\'
476             ]
477             ]
478             ]
479             ]
480             };
481             ' );
482              
483             sub new {
484 0     0 0   return execute( q, q, $behavior, \@_ );
485             }
486             }
487              
488             {
489             my $behavior = destringify( '$VAR1 = {
490             \'order\' => [
491             [
492             [
493             1,
494             {}
495             ],
496             [
497             300,
498             [
499             200,
500             \'alive and well\'
501             ]
502             ],
503             [
504             1,
505             {}
506             ],
507             [
508             301,
509             [
510             200,
511             \'throw threw at t/RecordMe.pm line 47.
512             \'
513             ]
514             ]
515             ]
516             ]
517             };
518             ' );
519              
520             sub throw {
521 0     0 0   return execute( q, q, $behavior, \@_ );
522             }
523             }
524              
525             {
526             my $behavior = destringify( '$VAR1 = {};
527             ' );
528              
529             sub dad {
530 0     0 0   return execute( q, q, $behavior, \@_ );
531             }
532             }
533              
534             {
535             my $behavior = destringify( '$VAR1 = {};
536             ' );
537              
538             sub with_prototype ($@) {
539 0     0 0   return execute( q, q, $behavior, \@_ );
540             }
541             }
542              
543             {
544             my $behavior = destringify( '$VAR1 = {};
545             ' );
546              
547             sub import {
548 0     0     return execute( q, q, $behavior, \@_ );
549             }
550             }
551              
552             {
553             my $behavior = destringify( '$VAR1 = {
554             \'order\' => [
555             [
556             [
557             2,
558             {}
559             ],
560             [
561             300,
562             [
563             200,
564             \'mom\'
565             ]
566             ]
567             ]
568             ]
569             };
570             ' );
571              
572             sub mom {
573 0     0 0   return execute( q, q, $behavior, \@_ );
574             }
575             }
576              
577             {
578             my $behavior = destringify( '$VAR1 = {};
579             ' );
580              
581             sub grandpa {
582 0     0 0   return execute( q, q, $behavior, \@_ );
583             }
584             }
585              
586             {
587             my $behavior = destringify( '$VAR1 = {
588             \'order\' => [
589             [
590             [
591             2,
592             {}
593             ],
594             [
595             300,
596             [
597             200,
598             \'grandma\'
599             ]
600             ]
601             ]
602             ]
603             };
604             ' );
605              
606             sub grandma {
607 0     0 0   return execute( q, q, $behavior, \@_ );
608             }
609             }
610