Branch Coverage

blib/lib/MorboDB/Cursor.pm
Criterion Covered Total %
branch 44 74 59.4


line true false branch
101 0 0 if $self->started_iterating
104 0 0 unless ref $f and ref $f eq 'HASH'
121 0 9 if $self->started_iterating
138 0 0 if $self->started_iterating
156 2 4 if $self->started_iterating
159 3 1 if ($order and ref $order eq 'Tie::IxHash') { }
1 0 elsif ($order and ref $order eq 'HASH') { }
238 18 67 unless ($self->started_iterating)
255 8 50 unless ($self->started_iterating)
273 0 35 if $self->started_iterating and not $self->has_next
275 9 26 unless ($self->started_iterating)
278 2 7 unless $self->count
284 0 33 if ($self->_fields) { }
287 0 0 if exists $self->_fields->{$_} or $_ eq '_id'
318 2 33 unless $self->_coll->_data
319 57 43 if (doc_matches($self->_coll->_data->{$_}, $self->_query))
323 0 57 if (not $self->_has_sort and $self->_skip and $skipped < $self->_skip) { }
334 7 93 if $self->_limit and scalar @docs == $self->_limit
338 4 31 if ($self->_has_sort)
348 17 0 if (defined $$doc_a{$attr} and not ref $$doc_a{$attr} and defined $$doc_b{$attr} and not ref $$doc_b{$attr}) { }
350 15 2 if ($$doc_a{$attr} =~ /^\d+(\.\d+)?$/ and $$doc_b{$attr} =~ /^\d+(\.\d+)?$/) { }
352 2 13 if ($dir > 0) { }
13 0 elsif ($dir < 0) { }
354 1 1 if $$doc_a{$attr} > $$doc_b{$attr}
355 1 0 if $$doc_a{$attr} < $$doc_b{$attr}
358 6 7 if $$doc_a{$attr} > $$doc_b{$attr}
359 5 2 if $$doc_a{$attr} < $$doc_b{$attr}
363 2 0 if ($dir > 0) { }
0 0 elsif ($dir < 0) { }
365 1 1 if $$doc_a{$attr} gt $$doc_b{$attr}
366 1 0 if $$doc_a{$attr} lt $$doc_b{$attr}
369 0 0 if $$doc_a{$attr} gt $$doc_b{$attr}
370 0 0 if $$doc_a{$attr} lt $$doc_b{$attr}
378 0 0 if defined $$doc_a{$attr} and not defined $$doc_b{$attr}
379 0 0 if defined $$doc_b{$attr} and not defined $$doc_a{$attr}
397 0 4 if $self->_skip
399 0 4 if $self->_limit and scalar @docs > $self->_limit