Branch Coverage

lib/Spreadsheet/Reader/ExcelXML/XMLReader.pm
Criterion Covered Total %
branch 202 228 88.6


line true false branch
161 3 984 unless ($self->not_end_of_file)
173 185 799 if ($current_node->{'closed'} eq 'closed')
190 1 798 defined $level ? :
205 2 7638 unless ($result_type)
210 4540 3098 if (scalar @$result > 0)
217 793 3756 if ($result->[-1]{'name'} eq $target_node)
225 793 4 if (keys %$top_ref)
268 4 1153 if ($position and $position < 1)
278 10 1151 unless ($self->not_end_of_file)
290 1245 10 defined $element ? :
305 120 1135 unless $result
313 1131 16 $element ? :
324 6 52 unless ($self->not_end_of_file)
346 1 1127 if $result_type == 0
362 0 1 unless ($self->not_end_of_file)
395 82 1080 if ($current_node and $current_node->{'name'} eq 'raw_text')
418 6 5383 unless ($ref and &is_HashRef($ref))
425 3125 2258 if (exists $ref->{'list_keys'})
441 1008 783 &is_HashRef($ref->{'list'}[$x]) && scalar keys %{$$ref{'list'}[$x];} == 1 && exists $ref->{'list'}[$x]{'raw_text'} ? :
3476 1791 &is_HashRef($ref->{'list'}[$x]) && (exists $ref->{'list'}[$x]{'list'} || exists $ref->{'list'}[$x]{'attributes'} || exists $ref->{'list'}[$x]{'val'}) ? :
339 5267 !defined($ref->{'list'}[$x]) ? :
442 490 5116 if ($key eq 'attributes') { }
445 975 4141 if exists $hash_ref->{$key} and length $key > 0
449 4457 1149 unless $is_a_list
458 2848 2535 if (exists $ref->{'attributes'})
459 66 2782 $is_a_list ? :
469 556 2 if (not $success and exists $ref->{'val'})
478 2 0 if (not $success and exists $ref->{'raw_text'})
485 305 4520 if ($is_a_list) { }
489 174 131 if $attribute_ref
493 316 4204 if (exists $hash_ref->{'attributes'})
520 4 31 if ($node_list[0] eq 'ALL_FILE')
523 4 0 if ($self->has_file) { }
524 0 4 unless open $fh, '<&', $self->get_file
547 3 28 if ($node_list[0] eq 'NO_FILE')
558 18 10 &is_ArrayRef($node_name) ? :
565 28 0 unless defined $first_node
566 11 17 $parse_commands[1] && !&is_Int($parse_commands[1]) ? :
572 8 34 unless $result
573 9 25 if (not $name_match) { }
583 11 14 if ($$current_node{$parse_commands[0]}{$name_key_list[0]} eq $name_match) { }
594 20 8 if ($result)
605 8 20 unless ($found_a_node)
631 0 468 unless ($node_ref->[0])
638 81 387 if ($node_ref->[0] and $node_ref->[0]{'name'} eq 'raw_text')
673 159 134 if ($self->has_file)
693 2932 9385 $self->_current_node->{'closed'} eq 'closed' ? :
342 12317 !$self->not_end_of_file ? :
701 8036 4623 if scalar @$array_list_ref
804 178 13 if ($self->can('load_unique_bits'))
832 53 3418 if $result_type == 0
853 0 0 if $result_type == 0
868 10 5393 if (not $add_list or scalar @$add_list == 0)
878 0 5393 unless exists $add_list->[0]{'level'}
882 1497 3896 if ($self->_has_positions and $add_list->[0]{'level'} == $self->_last_position - 1)
895 3701 3588 if (exists $element->{'attribute_strings'})
902 1 3713 defined $element->{'name'} && $element->{'name'} eq 'DOCTYPE' ? :
911 983 6304 if (not exists $element->{'name'}) { }
1342 4971 elsif (exists $element->{'name'} and $element->{'name'} eq 'raw_text') { }
914 19 976 if (exists $element->{'val'}) { }
923 0 1342 if $top_reference
933 1148 3810 if (exists $element->{'attributes'} and &is_HashRef($top_reference))
934 856 292 if (exists $top_reference->{'list'}) { }
292 0 elsif (exists $top_reference->{'raw_text'}) { }
952 1793 3178 unless scalar %$element
953 1445 3526 $top_reference ? :
958 2246 2717 if ($self->_has_positions and $level == $self->_last_position)
964 2241 13 if (exists $stored_ref->{'list'})
990 8091 9484 if (not defined $string or length $string == 0)
1027 121 24219 unless ($line)
1034 1 24218 if (scalar @sections > 2)
1054 23881 4462 if ($x == 0) { }
1057 393 23488 if (substr($node, 0, 1) eq '?' or substr($node, 0, 1) eq '!')
1059 392 1 substr($node, 0, 1) eq '?' ? :
1066 9714 14167 if (substr($node, 0, 1) eq '/')
1070 1392 8322 unless ($self->should_be_stacking)
1089 0 8322 if ($current_node->{'name'} ne $node_name)
1103 3835 10332 if (substr($node, -1, 1) eq '/')
1114 14167 0 unless $top_node_name
1117 1541 12626 unless ($self->should_be_stacking)
1124 1194 11432 if ($self->not_end_of_file and $self->_current_node->{'name'} eq 'raw_text')
1135 4093 8533 if ($is_xml_header or $self_closing)
1164 8555 8533 if $node_ref->{'closed'} eq 'closed'
1168 391 12220 if ($is_xml_header)
1174 207 186 if not $self->_has_xml_header and @$sub_return
1192 189 35 if ($header_nodes->[0]{'name'} eq 'xml')
1213 1 0 exists $header_node->{'DOCTYPE'} ? :
19 1 exists $header_node->{'mso-application'} ? :
185 20 exists $header_node->{'xml'} ? :
1216 353 467 if (exists $test_ref->{$attribute})
1241 0 20 unless ($self->not_end_of_file)
1249 0 20 if ($current_node->{'closed'} eq 'closed')
1266 0 20 defined $level ? :
1281 1004 925 if (scalar @$result > 0)
1288 20 984 if ($result->[-1]{'name'} eq $target_node)
1295 0 1004 if ($result_type == 0)
1327 0 1004 if (not $add_list or scalar @$add_list == 0)
1337 449 555 if ($self->_has_positions and $add_list->[0]{'level'} == $self->_last_position - 1)
1355 359 1064 if ($element->{'type'} eq '#text') { }
1362 868 555 if $base_string
1367 885 538 if ($element->{'type'} ne '#text' and substr($element->{'initial_string'}, -1) ne '/')
1376 535 888 if ($self->_has_positions and $last_level == $self->_last_position)
1413 98 8402 if ($string =~ /^[^"]*"[^"]*$/) { }
19 8383 elsif ($should_glue) { }
273 8110 elsif (length $string == 0) { }
1415 49 49 if ($should_glue) { }
1436 0 3716 if ($should_glue)
1464 44 8112 if not $att or $att eq 'xml:space="preserve"'
1471 8111 0 if $att_val and substr($att_val, 0, 1) eq '"' and substr($att_val, -1, 1) eq '"'
1472 576 7536 if ($att_name eq 'val') { }
22 7514 elsif ($form_val) { }
1480 22 0 substr($form_val, -1, 1) eq '"' ? :
1510 0 0 if (not $ref) { }
1518 0 0 if $next_line =~ /^\s*$/