Branch Coverage

lib/Doubly/Pointer.xs
Criterion Covered Total %
branch 77 100 77.0


line true false branch
14 218311 711 if (SvOK(self->data)) {
18 0 711 if (self->next != NULL) {
22 0 711 if(self->prev != NULL) {
43 120 980 while (self->prev != NULL) {
51 0 6 if (self->prev != NULL) {
58 222461 108566 while (self->next != NULL) {
66 0 4 if (self->next != NULL) {
76 13 111 int len = self->next != NULL ? 1 : SvOK(self->data) ? 1 : 0;
13 0 int len = self->next != NULL ? 1 : SvOK(self->data) ? 1 : 0;
78 100443 124 while (self->next != NULL) {
92 0 1 PUSHMARK(SP);
93 0 1 XPUSHs(find->data);
96 0 1 if (SvTRUEx(*PL_stack_sp)) {
102 1 0 while (find->next != NULL) {
106 0 1 PUSHMARK(SP);
107 0 1 XPUSHs(find->data);
110 1 0 if (SvTRUEx(*PL_stack_sp)) {
121 1 102 if (_is_undef(self)) {
129 0 102 if (self->prev) {
140 1 116 if (_is_undef(self)) {
148 0 116 if (self->next) {
159 1 0 if (_is_undef(self)) {
169 1 2 if (_is_undef(self)) {
176 3 2 for (i = 0; i < pos; i++) {
177 1 2 if (self->next != NULL) {
186 13 302 if (_is_undef(self)) {
201 686 107934 if (_is_undef(self)) {
218 3 108563 if (_is_undef(self)) {
224 0 108563 if (prev != NULL) {
225 0 0 if (next != NULL) {
237 105931 2632 } else if (next != NULL) {
246 2632 0 if (self->data != &PL_sv_undef) {
255 2 750 if (_is_undef(self)) {
263 222 528 if (prev != NULL) {
264 2 220 if (next != NULL) {
276 520 8 } else if (next != NULL) {
285 8 0 if (self->data != &PL_sv_undef) {
295 2 320 if (_is_undef(self)) {
305 0 219 if (_is_undef(self)) {
315 1 3 if (_is_undef(self)) {
322 3 3 for (i = 0; i < pos; i++) {
323 3 0 if (self->next != NULL) {
338 2025 706 RETVAL = _new(items > 1 ? newSVsv(ST(1)) : &PL_sv_undef);
354 4 81 if (items > 1) {
415 204 0 if (items > 1) {
417 102010 204 for (i = 1; i < items; i++) {
494 2 320 if (self->prev != NULL) {
510 215 4 if (self->next != NULL) {
546 100799 2635 while ( self->prev != NULL ) {
550 105931 2635 while ( self->next != NULL ) {