Branch Coverage

lib/Chemistry/OpenSMILES/Parser.yp
Criterion Covered Total %
branch 94 102 92.1


line true false branch
28 0 234 if ref $class
54 45 254 if (&is_aromatic($_[1]{'last'}) and &is_aromatic($_[2]))
75 55 5 if ($_[2] ne '-') { }
108 184 10 if ($_[1]{'last'}{'index'} != $_[3]{'first'}{'index'})
115 3 191 if (&is_aromatic($_[1]{'last'}) and &is_aromatic($_[3]{'first'}))
131 36 5 if ($_[1]{'last'}{'index'} != $_[4]{'first'}{'index'})
136 39 2 if ($_[3] ne '-') { }
180 0 10 if $self->{'USER'}{'FILEIN'}
182 1 9 if (${$self->{'TOKEN'};} eq "" and grep {$_ eq "(" if defined $_ and not ref $_;} map({$_->[1];} @{$$self{"STACK"};}))
183 2 5 if defined $_ and not ref $_
188 2 7 if (${$self->{'TOKEN'};} eq ")")
193 6 1 if ($self->YYData->{'INPUT'}) { }
207 0 228 if (not $self->YYData->{'INPUT'} and $self->{'USER'}{'FILEIN'})
213 0 1824 if ($self->YYData->{'INPUT'} =~ s/^(\s+)//)
218 2 1822 if (defined $self->{'USER'}{'OPTIONS'}{'max_hydrogen_count_digits'})
224 107 1717 if ($self->YYData->{'INPUT'} =~ s/^\[ (?[0-9]+)? (?[A-Za-z][a-z]?|\*) (?@( (TH|AL)[12] | SP [123] | (TB|OH)[0-9]{1,2} | \@? ))? (? $hcount_re)? (?--|\+\+|[-+][0-9]{0,2})? (:(?[0-9]+))? \]//x)
239 19 88 if ($atom->{'charge'})
245 17 90 if ($atom->{'hcount'}) { }
247 10 7 $atom->{'hcount'} ? :
252 6 101 if ($atom->{'isotope'})
257 0 107 exists $atom->{'class'} ? :
263 733 984 if ($self->YYData->{'INPUT'} =~ s/^(Br|Cl|[BCINOPSFbcnops*])//)
273 133 851 if ($self->YYData->{'INPUT'} =~ s/^%([0-9]{2})// or $self->YYData->{'INPUT'} =~ s/^([0-9])//)
280 624 227 if ($char ne "")
290 94 142 unless $options
302 2 223 if (scalar keys %{$$self{"USER"}{"RINGBONDS"};})
313 268 552 unless ($options->{'raw'})
315 207 61 unless (exists $atom->{'hcount'})
316 2 205 unless exists $Chemistry::OpenSMILES::Parser::normal_valence{$atom->{'symbol'}}
317 227 62 exists $bond_order{$_} ? :
318 96 193 $graph->has_edge_attribute($atom, $_, 'bond') ? :
322 4 201 unless $degree
325 1 204 unless defined $valence
334 131 184 if ($atom->{'first_of_chain'}) { }
343 23 242 if (&is_chiral($atom))
344 1 22 if ($atom->{'chirality'} =~ /^\@\@?$/ and $graph->degree($atom) == 2)
354 2 5 if (&is_chiral($atom) and $atom->{'first_of_chain'} and $atom->{'chirality'} =~ /^\@\@?$/ and $atom->{'chirality_neighbours'} and scalar @{$atom->{'chirality_neighbours'};} == 3)
359 1 1 $atom->{'chirality'} eq '@' ? :
372 65 68 if ($self->{'USER'}{'RINGBONDS'}{$ring_bond}) { }
376 0 9 if ($bond and $self->{'USER'}{'RINGBONDS'}{$ring_bond}{'bond'} and !($bond =~ m[^[\\/]$]) && $bond ne $self->{'USER'}{'RINGBONDS'}{$ring_bond}{'bond'} || $bond eq '\\' && $self->{'USER'}{'RINGBONDS'}{$ring_bond}{'bond'} ne '/' || $bond eq '/' && $self->{'USER'}{'RINGBONDS'}{$ring_bond}{'bond'} ne '\\')
388 1 14 if ($bond and $bond =~ m[^[\\/]$] and not defined $self->{'USER'}{'RINGBONDS'}{$ring_bond}{'bond'})
396 9 40 if (not $bond and &is_aromatic($ring_atom) and &is_aromatic($atom))
399 21 43 if ($bond and $bond ne '-') { }
409 3 0 if (&is_chiral($ring_atom) and $ring_atom->{'chirality_neighbours'})
411 4 8 if not ref $ring_atom->{'chirality_neighbours'}[$_]
413 3 0 if defined $pos
417 14 54 $bond ? :
429 43 242 if $index1 == $index2
442 63 312 if ($attributes) { }
455 1109 160 unless &is_chiral($atom1)
462 363 3 unless &is_chiral($atom1)