Branch Coverage

blib/lib/Data/Nested/Multiele.pm
Criterion Covered Total %
branch 232 344 67.4


line true false branch
43 0 85 if (@args and ref $args[0] eq $class) { }
85 0 elsif (@args and $args[0] eq $class) { }
53 54 31 if (@args and ref $args[0] eq 'Data::Nested') { }
67 54 31 if (@args)
74 54 31 if ($file)
75 0 54 if (@args and $args[0] eq '1')
82 0 85 if (@args)
120 0 85 if ($ordered)
124 54 31 if ($file)
126 0 54 if ($self->err)
161 0 3 if ($$self{'file'})
178 0 85 $nostruct ? :
184 0 85 if ($$self{'file'})
190 0 85 unless (-f $file)
196 0 85 unless (-r $file)
203 53 32 if (ref $ref eq 'HASH') { }
32 0 elsif (ref $ref eq 'ARRAY') { }
207 0 53 if ($ordered)
228 32 53 if ($$self{'list'}) { }
232 1 93 if ($e)
233 0 1 if ($err) { }
246 1 232 if ($e)
247 0 1 if ($err) { }
258 2 83 if ($err)
282 1900 295 if ($exists)
284 953 947 if ($$self{'list'}) { }
288 49 904 if ($#ele != $#{$$self{'elesx'};})
294 101 846 unless (defined $$self{'elesx'})
310 657 424 unless _ele_empty($self, $ele)
313 146 149 if ($$self{'list'}) { }
326 1609 1908 if ($$self{'list'}) { }
327 1321 288 if defined $$self{'data'}[$ele]
329 1766 142 if exists $$self{'data'}{$ele}
334 288 142 if ($$self{'list'}) { }
336 68 220 if defined $$self{'raw'}[$ele]
340 138 4 if defined $$self{'raw'}{$ele}
348 0 216 if ($$self{'list'}) { }
351 0 0 if ($NDS->test_conditions($nds, @cond))
353 0 0 if (defined $tmp) { }
364 98 118 if ($NDS->test_conditions($nds, @cond))
366 98 0 if (defined $tmp) { }
386 0 1134 unless (defined $val)
403 36 2433 if ($raw)
404 5 31 if ($$self{'list'}) { }
413 2433 0 unless ($noconstruct)
415 0 2433 if $self->err
418 1058 1375 if ($$self{'list'}) { }
428 1107 14 if exists $$self{'elesxh'}{$ele}
434 9 1084 unless _ele_exists($self, $ele)
449 0 75 unless ($$self{'file'})
458 63 12 unless ($$self{'list'})
459 0 63 unless (@args)
466 0 63 unless (exists $$self{'raw'}{$ele})
478 7 68 if ($#args % 2 == 0) { }
487 0 75 unless ($NDS->ruleset_valid($ruleset))
498 0 55 unless ($NDS->get_structure($path, 'valid'))
509 12 63 if ($$self{'list'}) { }
510 0 12 if (not defined $$self{'raw'}[0] or $NDS->empty($$self{'raw'}[0]))
535 0 28 unless ($$self{'file'})
541 0 28 unless ($self->ele($ele, 1))
547 0 28 unless ($self->path_valid($path))
557 6 22 if ($self->err or not defined $val)
570 10 12 if ($NDS->err or not defined $raw)
580 0 12 if (ref $val) { }
582 0 0 if $NDS->identical($val, $raw)
587 0 12 if $raw ne $val
601 484 91 if ($exists) { }
603 0 484 if $self->err
607 0 91 if $self->err
617 0 266 unless ($$self{'file'})
624 113 153 if ($$self{'list'}) { }
625 1 112 unless defined $$self{'raw'}[$ele]
627 1 152 unless exists $$self{'raw'}{$ele}
630 147 117 if ($exists) { }
634 67 50 if exists $$self{'elesnh'}{$ele}
650 0 204 unless ($$self{'file'})
659 0 204 if ($#cond % 2 == 0)
670 0 204 unless ($NDS->get_structure($path, 'valid'))
681 0 204 if $self->err
690 0 816 if $self->err
691 408 408 if $pass
716 119 0 unless $copy
717 117 2 unless $raw
719 0 119 unless ($$self{'file'})
725 0 119 unless ($self->ele($ele, 1))
732 0 119 unless ($NDS->get_structure($path, 'valid'))
740 11 108 if ($NDS->err)
748 0 108 if ($copy)
759 39 8 unless $empty
760 46 1 unless $raw
762 0 47 unless ($$self{'file'})
769 0 47 unless ($NDS->get_structure($path, 'valid'))
777 2 45 if ($NDS->err)
786 29 16 if (ref $val eq 'HASH') { }
12 4 elsif (ref $val eq 'ARRAY') { }
4 0 elsif (not defined $val) { }
790 47 0 unless ref $v2
791 43 4 if not $empty || $NDS->empty($v2) or $empty
799 12 0 unless ref $v2
800 8 4 if not $empty || $NDS->empty($v2) or $empty
819 39 8 unless $empty
820 47 0 unless $copy
821 46 1 unless $raw
823 0 47 unless ($$self{'file'})
830 0 47 unless ($NDS->get_structure($path, 'valid'))
838 2 45 if ($NDS->err)
847 29 16 if (ref $val eq 'HASH') { }
12 4 elsif (ref $val eq 'ARRAY') { }
4 0 elsif (not defined $val) { }
851 47 0 unless ref $v2
852 43 4 if (not $empty || $NDS->empty($v2) or $empty)
854 0 43 if ($copy and ref $v) { }
866 12 0 unless ref $v2
867 8 4 if (not $empty || $NDS->empty($v2) or $empty)
869 0 8 if ($copy and ref $v) { }
898 0 12 unless ($$self{'file'})
904 0 12 unless ($NDS->get_structure($path, 'valid'))
911 6 6 if ($empty) { }
922 24 12 if ($NDS->err)
928 0 12 if ref $val and $copy
945 0 5 unless ($$self{'file'})
951 0 5 unless ($NDS->get_structure($path, 'valid'))
958 0 5 if ($empty) { }
968 18 4 if ($NDS->err)
974 2 2 if defined $val
989 0 4 unless ($$self{'file'})
997 0 4 unless (_ele_exists($self, $ele))
1017 0 4 if ($$self{'list'} and $$self{'ordered'}) { }
2 2 elsif ($$self{'list'}) { }
1023 0 0 if defined $$self{'data'}[$ele]
1024 0 0 if defined $$self{'raw'}[$ele] and not $leaveraw
1033 2 0 if ($#{$$self{'data'};} >= $ele)
1037 2 0 unless ($leaveraw)
1048 2 0 unless ($leaveraw)
1067 0 3 if $$self{'list'} and not $$self{'ordered'}
1069 0 3 unless ($$self{'file'})
1077 0 3 unless (_ele_exists($self, $ele))
1083 0 3 if (_ele_exists($self, $newele) and not _ele_empty($self, $newele))
1106 1 2 if ($$self{'list'}) { }
1107 1 0 if (defined $$self{'data'}[$ele])
1115 2 0 if (exists $$self{'data'}{$ele})
1138 0 19 unless ($$self{'file'})
1149 12 7 if ($$self{'list'}) { }
1150 6 6 if ($args[0] =~ /^\d+$/) { }
1164 0 19 if ($NDS->err)
1181 11 14 if ($$self{'list'} and not $$self{'ordered'}) { }
4 10 elsif ($$self{'list'}) { }
1189 4 7 if ($ele) { }
1191 1 3 unless (_ele_exists($self, $ele))
1217 3 1 if ($ele) { }
1219 2 1 if (_ele_exists($self, $ele)) { }
1221 1 1 if (_ele_empty($self, $ele)) { }
1245 9 1 if ($ele and _ele_empty($self, $ele)) { }
0 1 elsif ($ele and not _ele_exists($self, $ele)) { }
1272 3 1 if ($#{$$self{'data'};} >= $ele)
1298 0 4 unless ($$self{'file'})
1306 0 4 unless (_ele_exists($self, $ele))
1317 0 4 if (not defined $val) { }
1319 0 0 if ($NDS->err)
1330 0 4 if (not defined $ruleset and defined $new and $NDS->ruleset_valid($new))
1337 4 0 unless $ruleset
1341 0 4 unless ($NDS->ruleset_valid($ruleset))
1349 0 4 if ($NDS->err)
1365 0 4 if ($$self{'list'}) { }
1379 0 6 unless ($$self{'file'})
1387 0 6 unless (_ele_exists($self, $ele))
1408 0 0 if ($path)
1421 0 0 unless ($file)
1429 0 0 unless ($nobackup)
1430 0 0 unless (rename $file, "$file.bak")
1441 0 0 if ($$self{'list'}) { }
1463 0 0 unless ($out->open(">$file"))