Branch Coverage

blib/lib/Ace/Object.pm
Criterion Covered Total %
branch 166 286 58.0


line true false branch
40 9 13 if ($presumed_tag) { }
0 13 elsif ($func_name =~ /^[A-Z]/ and $self->isTag) { }
41 0 9 if $self->db and $self->model and not $self->model->valid_tag($func_name)
46 5 4 if (defined $_[0])
47 0 5 if ($_[0] eq '@') { }
5 0 elsif ($_[0] =~ /^\d+$/) { }
55 0 9 if not $no_dereference and not $self->isRoot and $self->db
57 0 9 unless $self
59 3 6 if wantarray
60 3 3 @_ ? :
64 0 6 unless defined $obj
67 3 3 if $no_dereference
70 0 3 if defined $_[0] and $_[0] =~ /\d+/
74 1 2 if $obj->isObject and not $obj->isRoot
89 0 99 unless defined $$self{'class'}
90 0 99 if caller() =~ /^(Cache::|DB)/
91 19 80 unless my $db = $self->db
92 3 77 if $$self{'.nocache'}
93 26 51 unless $self->isRoot
95 1 50 if ($self->_dirty)
96 0 1 if 'Ace'->debug
114 54 362 if ref $pack
118 369 47 if $self->isObject
119 217 199 if defined $isRoot and $isRoot
127 3 20 if ref $pack
131 4 2400 unless $_
146 0 2880 if defined $_[0]
154 0 959 defined $_[0] ? :
171 0 0 unless (UNIVERSAL::isa($b, 'Ace::Object'))
175 0 0 if $a->name eq $b->name and $a->class eq $b->class and $a->db eq $b->db
194 369 592 if (@_)
209 1 12 unless $tag
214 0 12 if (not defined $pos and $tag =~ /(.*?)\[(\d+)\]$/)
226 9 15 unless defined $o
228 2 1 if $return_parent
229 0 1 defined $pos ? :
1 0 unless wantarray
239 1 1 defined $pos ? :
252 12 8 unless defined $pos
253 0 20 unless $pos >= 0
255 3 17 unless $pos > 0
259 15 2 if ($pos == 1) { }
266 0 8 unless defined(my $right = $o->right($pos - 2))
277 10 0 unless $_[0] =~ /^-/
285 0 10 if ($filled)
286 0 0 unless my(@node) = $self->search($tag)
288 0 0 if defined $_
289 0 0 wantarray ? :
295 8 2 if (exists $$self{'.PATHS'})
298 6 2 if exists $$self{'.PATHS'}{$lctag}
302 2 0 if $m
305 0 0 if $tree = $$self{'.PATHS'}{lc $_}
307 0 2 if ($tree)
318 1 3 unless ($self->filled)
323 1 0 if ($subobject) { }
335 0 6 unless $_->isTag
336 3 3 if (lc $_ eq $lctag)
346 0 0 unless $_->isTag
347 0 0 if (my $r = $_->search($tag))
361 0 10 unless $t
363 8 2 if (defined $subtag)
364 8 0 if ($subtag =~ /^\d+$/) { }
367 0 0 if $t->isObject or defined $t->right and $t->right->isObject
373 0 1 defined $pos ? :
1 9 unless wantarray
388 1 0 if (lc $subobject->right eq $lctag) { }
399 30 68 if @_ and $self->isRoot
419 0 0 unless $needs_escaping
431 71 24 unless defined $pos
432 0 24 unless $pos >= 0
436 0 1 unless defined($node = $node->right)
445 92 0 unless defined $pos
448 0 0 unless defined($node = $node->down)
457 1 2 if defined $tag
458 0 2 $self->isTag && defined $self->right ? :
459 1 1 unless $thing_to_pick->isObject
460 1 0 if $self->db
471 0 1 unless $self->db
472 0 1 unless $tag
476 0 1 if ($filled)
477 0 0 $filled =~ /^[a-zA-Z]/ ? :
493 6 2 if $self->class eq 'tag'
506 0 22 unless $self->db and $self->isObject
542 96 4 if $self->filled
543 0 4 unless $self->db and $self->isObject
546 2 2 unless $data
559 177 15 unless my $raw = $$self{'.raw'}
568 6338 17 unless $$raw[$r][$col] ne ''
574 12 5 if (defined $obj_right)
578 0 0 if $obj_right->isComment
580 0 0 unless defined($obj_right = $self->_fromRaw($raw, $row++, $col + 1, $r - 1, $db))
587 0 17 if $ts and $timestamp
597 8 7 if (defined $obj_right)
601 0 0 if $obj_right->isComment
603 0 0 unless defined($obj_right = $self->_fromRaw($raw, $row++, $col + 1, $$self{'.end_row'}, $db))
607 6 9 if $changed
618 55 0 if ref $db
619 12 43 unless defined $$raw[$start_row][$col]
633 0 43 if defined $ts
645 0 24 if ($tag =~ /(.*?)\[(\d+)\]$/)
652 15 29 if lc $o eq lc $tag
665 4 2876 unless defined $class and defined $name
666 0 2876 $class eq 'date' ? :
671 0 456 unless defined $_[0]
1756 0 0 if defined $right
1773 0 0 unless $tabs
1779 0 0 if not defined $max[$i] or $max[$i] < length $fields[$i]
1783 0 0 if $_ > $MAXWIDTH
1879 0 0 if defined $_[0]
1880 0 0 if ($self->db and not $$self{'.comment'})
1903 5 22 unless my $db = $self->db
1904 0 3 unless $db->count($self->class, $self->name)
1906 0 13 if (defined $result and $result =~ /write access/im)
1924 0 0 if $self->class eq 'Comment'
1936 5 8 ref $_ && ref $_ eq 'ARRAY' ? :
1939 0 20 unless ($tag =~ /\./)
1945 0 0 if $self->at($row)
1951 0 13 if (ref $_ and $_->isa('Ace::Object')) { }
1956 0 0 if defined $previous
1967 4 9 if ($$p{'.right'}) { }
1970 0 13 unless $$p{'.down'}
2029 8 7 ref $_ && ref $_ eq 'ARRAY' ? :
2 0 if defined $oldvalue
2032 0 0 unless ($tag =~ /\./)
2041 0 9 if (@values and defined $$subtree{'.right'} and "$$subtree{'.right'}" eq $oldvalue) { }
2075 2 7 unless my $db = $self->db
2079 0 9 unless defined $name
2082 0 9 unless exists $$self{'.update'} and $$self{'.update'}
2088 2 7 if ($db->db->can('write')) { }
2090 0 9 if $self->debug
2095 2 1 if $self->debug
2099 0 1 if (defined $result and $result =~ /write( or admin)? access/im) { }
1 1 elsif (defined $result and $result =~ /sorry|parse error/im) { }
2104 0 2 if $Ace::Error
2161 0 0 if ($$self{'.raw'})
2168 0 0 if ($new_row++)
2179 0 0 if ($self->comment)
2181 0 0 unless $self->down and not defined $self->right
2183 1 0 if defined $self->right
2185 0 1 if defined($self = $self->down)
2217 1 1 unless $p
2220 0 2 if "$p" eq $tag
2221 0 2 unless $$p{'.down'}