Condition Coverage

blib/lib/Graphics/Framebuffer.pm
Criterion Covered Total %
condition 27 635 4.2


and 3 conditions

line !l l&&!r l&&r condition
2652 2 0 0 defined $ENV{'DISPLAY'} and $self->{'IGNORE_X_WINDOWS'} == 0
2653 0 2 0 not $has_X and defined $self->{'FB_DEVICE'}
2 0 0 not $has_X and defined $self->{'FB_DEVICE'} and -e $self->{'FB_DEVICE'}
2 0 0 not $has_X and defined $self->{'FB_DEVICE'} and -e $self->{'FB_DEVICE'} and open $self->{'FB'}, "+<", $self->{'FB_DEVICE'}
2 0 0 exists $ENV{'DISPLAY'} and -e $self->{'FB_DEVICE'}
2800 0 0 0 $self->{'fscreeninfo'}{'line_length'} < $self->{'fscreeninfo'}{'smem_len'} and $self->{'fscreeninfo'}{'line_length'} > 0
2832 0 0 0 $self->{'BITS'} == 32 and $self->{'vscreeninfo'}{'bitfields'}{'alpha'}{'length'} == 0
3027 0 0 0 $ro < $go and $go < $bo
0 0 0 $bo < $go and $go < $ro
0 0 0 $go < $ro and $ro < $bo
0 0 0 $go < $bo and $bo < $ro
0 0 0 $bo < $ro and $ro < $go
0 0 0 $ro < $bo and $bo < $go
3198 0 0 0 defined $fonts and scalar @{$fonts;} == 1
3279 0 0 0 $mode <= 10 && $mode >= 0
3600 0 0 0 exists $self->{'history'} and defined $self->{'history'}{$y}{$x}
3602 0 0 0 $index >= 0 and $index <= $self->{'fscreeninfo'}{'smem_len'} - $self->{'BYTES'}
3653 0 0 0 $error and $self->{'SHOW_ERRORS'}
3917 0 0 0 $self->{'ACCELERATED'} and $size == 1
0 0 0 $self->{'ACCELERATED'} and $size == 1 and not $antialiased
3947 0 0 0 $x_end == $start_x and $y_end == $start_y
3982 0 0 0 $start_x < $x_end and $start_y < $y_end
0 0 0 $start_x > $x_end and $start_y < $y_end
0 0 0 $start_x < $x_end and $start_y > $y_end
0 0 0 $start_x > $x_end and $start_y > $y_end
4009 0 0 0 $start_x < $x_end and $start_y < $y_end
0 0 0 $start_x > $x_end and $start_y < $y_end
0 0 0 $start_x < $x_end and $start_y > $y_end
0 0 0 $start_x > $x_end and $start_y > $y_end
4035 0 0 0 $start_x < $x_end and $start_y < $y_end
0 0 0 $start_x > $x_end and $start_y < $y_end
0 0 0 $start_x < $x_end and $start_y > $y_end
0 0 0 $start_x > $x_end and $start_y > $y_end
4285 0 0 0 $self->{'ACCELERATED'} and $mode == 1
4490 0 0 0 $@ and $self->{'SHOW_ERRORS'}
4809 0 0 0 $cy_y <=> $old_cy_y and $cyy <=> $cy_y
4866 0 0 0 $cy_y <=> $old_cy_y and $cyy <=> $cy_y
4895 0 0 0 exists $self->{'history'} and not $history_on
4978 0 0 0 $x0 == $x1 and $y0 == $y1
5028 0 0 0 $ymy != $lymy and $ymy != $lymx
0 0 0 $ymy != $lymy and $ymy != $lymx and $ymy != $lypx
0 0 0 $ymy != $lymy and $ymy != $lymx and $ymy != $lypx and $ymy != $lypy
5035 0 0 0 $ymx != $lymx and $ymx != $lymy
0 0 0 $ymx != $lymx and $ymx != $lymy and $ymx != $lypx
0 0 0 $ymx != $lymx and $ymx != $lymy and $ymx != $lypx and $ymx != $lypy
5043 0 0 0 $ypy != $lypy and $ypy != $lypx
0 0 0 $ypy != $lypy and $ypy != $lypx and $ypy != $lymy
0 0 0 $ypy != $lypy and $ypy != $lypx and $ypy != $lymy and $ypy != $lymx
5050 0 0 0 $ypx != $lypx and $ypx != $lypy
0 0 0 $ypx != $lypx and $ypx != $lypy and $ypx != $lymx
0 0 0 $ypx != $lypx and $ypx != $lypy and $ypx != $lymx and $ypx != $lymy
5056 0 0 0 $ymy != $lymy and $ymy != $lymx
0 0 0 $ymy != $lymy and $ymy != $lymx and $ymy != $lypx
0 0 0 $ymy != $lymy and $ymy != $lymx and $ymy != $lypx and $ymy != $lypy
5061 0 0 0 $ymx != $lymx and $ymx != $lymy
0 0 0 $ymx != $lymx and $ymx != $lymy and $ymx != $lypx
0 0 0 $ymx != $lymx and $ymx != $lymy and $ymx != $lypx and $ymx != $lypy
5068 0 0 0 $ypy != $lypy and $ypy != $lypx
0 0 0 $ypy != $lypy and $ypy != $lypx and $ypy != $lymy
0 0 0 $ypy != $lypy and $ypy != $lypx and $ypy != $lymy and $ypy != $lymx
5073 0 0 0 $ypx != $lypx and $ypx != $lypy
0 0 0 $ypx != $lypx and $ypx != $lypy and $ypx != $lymx
0 0 0 $ypx != $lypx and $ypx != $lypy and $ypx != $lymx and $ypx != $lymy
5080 0 0 0 $ymy != $lymy and $ymy != $lymx
0 0 0 $ymy != $lymy and $ymy != $lymx and $ymy != $lypx
0 0 0 $ymy != $lymy and $ymy != $lymx and $ymy != $lypx and $ymy != $lypy
5084 0 0 0 $ymx != $lymx and $ymx != $lymy
0 0 0 $ymx != $lymx and $ymx != $lymy and $ymx != $lypx
0 0 0 $ymx != $lymx and $ymx != $lymy and $ymx != $lypx and $ymx != $lypy
5090 0 0 0 $ypy != $lypy and $ypy != $lypx
0 0 0 $ypy != $lypy and $ypy != $lypx and $ypy != $lymy
0 0 0 $ypy != $lypy and $ypy != $lypx and $ypy != $lymy and $ypy != $lymx
5094 0 0 0 $ypx != $lypx and $ypx != $lypy
0 0 0 $ypx != $lypx and $ypx != $lypy and $ypx != $lymx
0 0 0 $ypx != $lypx and $ypx != $lypy and $ypx != $lymx and $ypx != $lymy
5141 0 0 0 $x0 == $x1 and $y0 == $y1
5150 0 0 0 $height and $width
5269 0 0 0 $params->{'coordinates'}[$ip] < $y && $params->{'coordinates'}[$jp] >= $y || $params->{'coordinates'}[$jp] < $y && $params->{'coordinates'}[$ip] >= $y and $params->{'coordinates'}[$i] <= $x || $params->{'coordinates'}[$j] <= $x
5341 0 0 0 exists $saved->{'image'} and defined $saved->{'image'}
5354 0 0 0 exists $params->{'hatch'} and defined $params->{'hatch'}
5394 0 0 0 $@ and $self->{'SHOW_ERRORS'}
5504 0 0 0 $width and $height
5543 0 0 0 $@ and $self->{'SHOW_ERRORS'}
5991 0 0 0 $@ and $self->{'SHOW_ERRORS'}
6266 0 0 0 $set =~ /^\d+$/ and $set >= 0
0 0 0 $set =~ /^\d+$/ and $set >= 0 and $set <= 2
6366 0 0 0 $h > 1 and $self->{'ACCELERATED'} == 1
6428 0 0 0 defined $params->{'image'} and $params->{'image'} ne ""
0 0 0 defined $params->{'image'} and $params->{'image'} ne "" and $h
0 0 0 defined $params->{'image'} and $params->{'image'} ne "" and $h and $w
6462 0 0 0 $index >= 0 and $index <= $max
0 0 0 $index >= 0 and $index <= $max and $idx >= 0
0 0 0 $index >= 0 and $index <= $max and $idx >= 0 and $idx <= length($scrn) - $bytes
6794 0 0 0 $@ and $self->{'SHOW_ERRORS'}
6914 0 0 0 $@ and $self->{'SHOW_ERRORS'}
6958 0 0 0 $@ and $self->{'SHOW_ERRORS'}
7267 0 0 2 exists $params->{'wscale'} and defined $params->{'wscale'}
7303 0 0 0 defined $params->{'rotate'} and abs $params->{'rotate'} > 0
0 0 0 defined $params->{'rotate'} and abs $params->{'rotate'} > 0 and abs($params->{'rotate'} < 360)
7315 0 0 0 $@ and $self->{'SHOW_ERRORS'}
7354 0 0 0 $self->{'ACCELERATED'} and not $aa
7565 0 0 0 -f "$path/$file" and -s "$path/$file"
7568 0 0 0 $file =~ /\.ttf$/i and $self->{'Imager-Has-TrueType'} || $self->{'Imager-Has-Freetype2'}
0 0 0 $file =~ /\.afb$/i and $self->{'Imager-Has-Type1'}
7754 0 0 0 $@ and $self->{'SHOW_ERRORS'}
7765 0 0 0 $@ and $self->{'SHOW_ERRORS'}
7790 0 0 0 defined $orientation and $orientation
7817 0 0 0 $params->{'file'} =~ /\.(gif|png)$/i and not exists $params->{'width'}
0 0 0 $params->{'file'} =~ /\.(gif|png)$/i and not exists $params->{'width'} and not exists $params->{'height'}
7894 0 0 0 defined $params->{'x'} and defined $params->{'y'}
8686 0 0 0 $self->{'WAIT_FOR_CONSOLE'} and not $self->active_console

or 2 conditions

line l !l condition
2313 0 2 $Imager::formats{'tt'} || 0
0 2 $Imager::formats{'t1'} || 0
0 2 $Imager::formats{'ft2'} || 0
2818 0 0 $self->{'vscreeninfo'}{'xoffset'} || 0
2819 0 0 $self->{'vscreeninfo'}{'yoffset'} || 0
3491 2 1 shift() || ''
3570 0 0 $params->{'x'} || 0
3571 0 0 $params->{'y'} || 0
3572 0 0 $params->{'pixel_size'} || 1
3908 0 0 $params->{'pixel_size'} || 1
3912 0 0 $params->{'antialiased'} || 0
4185 0 0 $params->{'pixel_size'} || 1
4186 0 0 $params->{'closed'} || 0
4187 0 0 $params->{'filled'} || 0
4270 0 0 $params->{'radius'} || 1
4272 0 0 $params->{'start_degrees'} || 0
4273 0 0 $params->{'end_degrees'} || 360
4274 0 0 $params->{'granularity'} || 0.1
4276 0 0 $params->{'mode'} || 0
4277 0 0 $params->{'pixel_size'} || 1
4421 0 0 $params->{'hatch'} || 'dots16'
4447 0 0 $params->{'gradient'}{'direction'} || 'vertical'
4457 0 0 $params->{'gradient'}{'direction'} || 'vertical'
4701 0 0 $params->{'xradius'} || 1
4702 0 0 $params->{'yradius'} || 1
4707 0 0 $params->{'filled'} || 0
4708 0 0 $params->{'factor'} || 1
4709 0 0 $params->{'pixel_size'} || 1
4944 0 0 int $params->{'bx'} || 0
4945 0 0 int $params->{'by'} || 0
4946 0 0 int $params->{'bxx'} || 1
4947 0 0 int $params->{'byy'} || 1
4949 0 0 $params->{'filled'} || 0
4951 0 0 $params->{'pixel_size'} || 1
5235 0 0 $params->{'pixel_size'} || 1
5236 0 0 $params->{'antialiased'} || 0
5301 0 0 $params->{'gradient'}{'direction'} ||= "vertical"
5373 0 0 $params->{'hatch'} || 'dots16'
5381 0 0 $params->{'antialiased'} || 0
5532 0 0 $type || 'dots16'
5597 0 0 int $params->{'filled'} || 0
5598 0 0 int $params->{'pixel_size'} || 1
5599 0 0 int $params->{'radius'} || 0
5742 2 2 shift() || 'RAW_FOREGROUND_COLOR'
5900 0 0 $params->{'gradient'}{'direction'} ||= "vertical"
6028 0 0 int $params->{'old'}{'red'} || 0
6029 0 0 int $params->{'old'}{'green'} || 0
6030 0 0 int $params->{'old'}{'blue'} || 0
6032 0 0 int $params->{'new'}{'red'} || 0
6033 0 0 int $params->{'new'}{'green'} || 0
6034 0 0 int $params->{'new'}{'blue'} || 0
6218 0 0 shift() || 1
6420 0 0 $params->{'x'} || 0
6421 0 0 $params->{'y'} || 0
6422 0 0 $params->{'width'} || 1
6423 0 0 $params->{'height'} || 1
6945 0 0 $params->{'scale'}{'scale_type'} || 'min'
7254 0 2 int $params->{'x'} || 0
7255 0 2 int $params->{'y'} || 0
7256 0 2 int $params->{'pwidth'} || 6
7257 0 2 int $params->{'pheight'} || 6
7258 2 0 int $params->{'height'} || 6
7259 2 0 $params->{'text'} || ' '
7261 2 0 $params->{'bounding_box'} || 0
7262 2 0 $params->{'center'} || 0
7264 2 0 $params->{'antialias'} || 0
7450 0 0 int $params->{'x'} || 0
7451 0 0 int $params->{'y'} || 0
7452 0 0 int $params->{'size'} || 16
7453 0 0 $params->{'text'} || ' '
7455 0 0 $params->{'justify'} || 'left'
7457 0 0 int $params->{'line_spacing'} || 0
7825 0 0 $params->{'scale_type'} || 'min'
7830 0 0 $params->{'scale_type'} || 'min'
8015 0 0 $params->{'file'} || 'screendump.jpg'
8022 0 0 $params->{'format'} || 'jpeg'
8035 0 0 $type || 'raw'
8048 0 0 $params->{'dither'} || 'floyd'
8406 0 0 $params->{'alpha'} || 255

or 3 conditions

line l !l&&r !l&&!r condition
2800 0 0 0 $self->{'fscreeninfo'}{'line_length'} < $self->{'fscreeninfo'}{'smem_len'} and $self->{'fscreeninfo'}{'line_length'} > 0 or $extra > 4
2825 0 0 0 not defined $self->{'fscreeninfo'}{'smem_len'} or $self->{'fscreeninfo'}{'smem_len'} <= 0
2968 2 0 0 not defined $self->{'fscreeninfo'}{'smem_len'} or $self->{'fscreeninfo'}{'smem_len'} <= 0
3597 0 0 0 $x > $self->{'XX_CLIP'} or $y > $self->{'YY_CLIP'}
0 0 0 $x > $self->{'XX_CLIP'} or $y > $self->{'YY_CLIP'} or $x < $self->{'X_CLIP'}
0 0 0 $x > $self->{'XX_CLIP'} or $y > $self->{'YY_CLIP'} or $x < $self->{'X_CLIP'} or $y < $self->{'Y_CLIP'}
3604 0 0 0 substr($self->{'SCREEN'}, $index, $self->{'BYTES'}) || "\000" x $self->{'BYTES'}
3707 0 0 0 $x > $self->{'XX_CLIP'} or $y > $self->{'YY_CLIP'}
0 0 0 $x > $self->{'XX_CLIP'} or $y > $self->{'YY_CLIP'} or $x < $self->{'X_CLIP'}
0 0 0 $x > $self->{'XX_CLIP'} or $y > $self->{'YY_CLIP'} or $x < $self->{'X_CLIP'} or $y < $self->{'Y_CLIP'}
4192 0 0 0 $params->{'points'} || scalar(@{$params->{'coordinates'};}) / 2
4304 0 0 0 $sx <=> $ox or $sy <=> $oy
4338 0 0 0 $sx <=> $ox or $sy <=> $oy
4730 0 0 0 $history_on or not $filled
0 0 0 $history_on or not $filled or $size > 1
4942 0 0 0 int $params->{'xx'} || $x0
4943 0 0 0 int $params->{'yy'} || $y0
5269 0 0 0 $params->{'coordinates'}[$ip] < $y && $params->{'coordinates'}[$jp] >= $y || $params->{'coordinates'}[$jp] < $y && $params->{'coordinates'}[$ip] >= $y
0 0 0 $params->{'coordinates'}[$i] <= $x || $params->{'coordinates'}[$j] <= $x
5409 0 0 0 $type->{'width'} != $width or $type->{'height'} != $height
5749 2 0 2 $params->{'alpha'} || $def_alpha
5882 0 0 0 $x < $self->{'X_CLIP'} or $x > $self->{'XX_CLIP'}
0 0 0 $x < $self->{'X_CLIP'} or $x > $self->{'XX_CLIP'} or $y < $self->{'Y_CLIP'}
0 0 0 $x < $self->{'X_CLIP'} or $x > $self->{'XX_CLIP'} or $y < $self->{'Y_CLIP'} or $y > $self->{'YY_CLIP'}
6035 0 0 0 int $params->{'new'}{'alpha'} || $self->{'COLOR_ALPHA'}
6351 0 0 0 $params->{'x'} || $self->{'X_CLIP'}
6352 0 0 0 $params->{'y'} || $self->{'Y_CLIP'}
6355 0 0 0 $params->{'width'} || $clipw
6356 0 0 0 $params->{'height'} || $cliph
6481 0 0 0 substr($self->{'SCREEN'}, $ipx, $bytes) || "\000" x $bytes
6531 0 0 0 substr($self->{'SCREEN'}, $ipx, $bytes) || "\000" x $bytes
6596 0 0 0 $YY < $yclip or $params->{'height'} < 1
0 0 0 $YY < $yclip or $params->{'height'} < 1 or $XX < $xclip
0 0 0 $YY < $yclip or $params->{'height'} < 1 or $XX < $xclip or $params->{'x'} > $xxclip
6852 0 0 0 abs $degrees == 360 or $degrees == 0
6853 0 0 0 $params->{'rotate'}{'quality'} eq "high" or $self->{'ACCELERATED'} == 0
6898 0 0 0 abs $degrees == 90 or abs $degrees == 180
0 0 0 abs $degrees == 90 or abs $degrees == 180 or abs $degrees == 270
6975 0 0 0 $params->{'center'} == 1 or $params->{'center'} == 3
6978 0 0 0 $params->{'center'} == 2 or $params->{'center'} == 3
7260 0 2 0 $params->{'face'} || $self->{'FONT_FACE'}
7263 0 2 0 $params->{'font_path'} || $self->{'FONT_PATH'}
7343 0 0 0 $TTF_pw <= 0 or $TTF_ph <= 0
7454 0 0 0 $params->{'face'} || $self->{'FONT_FACE'}
7458 0 0 0 $params->{'font_path'} || $self->{'FONT_PATH'}
7568 0 0 0 $self->{'Imager-Has-TrueType'} || $self->{'Imager-Has-Freetype2'}
7820 0 0 0 $params->{'width'} || $w
7821 0 0 0 $params->{'height'} || $h