Branch Coverage

blib/lib/EBook/Ishmael.pm
Criterion Covered Total %
branch 74 118 62.7


line true false branch
99 0 115 if ($file eq $STDIN) { }
117 88 0 if ($file ne $STDOUT) { }
118 0 88 unless open my $fh, ">", $file
162 33 0 if (not $_[1] or exists $META_MODES{lc $_[1]}) { }
172 0 115 unless &GetOptions("dumper|d=s", \$self->{'Dumper'}, "encoding|e=s", \$self->{'Encode'}, "file-encoding|I=s", \$self->{'FileEnc'}, "format|f=s", \$self->{'Format'}, "width|w=i", \$self->{'Width'}, "no-network|N", sub { $self->{'Network'} = 0; } , "text|t", sub { $self->{'Mode'} = 0; } , "html|H", sub { $self->{'Mode'} = 3; } , "cover|c", sub { $self->{'Mode'} = 5; } , "image|g", sub { $self->{'Mode'} = 6; } , "identify|i", sub { $self->{'Mode'} = 2; } , "metadata|m:s", sub { $self->{'Mode'} = 1; if (not $_[1] or exists $META_MODES{lc $_[1]}) { $self->{'Meta'} = lc $_[1] || 'ishmael'; } else { $self->{'Meta'} = "ishmael"; unshift @ARGV, $_[1]; } ; } , "raw|r", sub { $self->{'Mode'} = 4; } , "help|h", sub { print $HELP; exit 0; } , "version|v", sub { print $VERSION_MSG; exit 0; } )
174 0 115 unless $self->{'Ebook'} = shift @ARGV
179 11 104 if ($self->{'Mode'} == 5) { }
11 93 elsif ($self->{'Mode'} == 6) { }
187 0 115 if (defined $self->{'Format'})
191 0 0 if (exists $FORMAT_ALTS{$self->{'Format'}})
195 0 0 unless (exists $EBook::Ishmael::EBOOK_FORMATS{$self->{'Format'}})
201 0 115 if (defined $self->{'Encode'} and not defined &find_encoding($self->{'Encode'}))
205 0 115 if (defined $self->{'FileEnc'} and not defined &find_encoding($self->{'FileEnc'}))
236 0 0 unless (defined $self->{'Encode'})
248 0 0 if (defined $self->{'Encode'}) { }
254 0 0 unless $self->{'Output'} eq $STDOUT
264 11 22 if ($self->{'Meta'} eq 'ishmael') { }
11 11 elsif ($self->{'Meta'} eq 'json') { }
11 0 elsif ($self->{'Meta'} eq 'xml') { }
290 5 6 if (defined $meta{'Created'})
293 7 4 if (defined $meta{'Modified'})
302 0 53 unless defined $meta{$k}
303 15 38 if (ref $meta{$k} eq 'ARRAY') { }
310 11 0 unless $self->{'Output'} eq $STDOUT
328 5 6 if (defined $meta->{'Created'})
331 7 4 if (defined $meta->{'Modified'})
340 11 0 unless $self->{'Output'} eq $STDOUT
358 5 6 if (defined $meta->{'Created'})
361 7 4 if (defined $meta->{'Modified'})
376 0 53 unless defined $meta->{$k}
380 15 38 if (ref $meta->{$k} eq 'ARRAY') { }
398 11 0 unless $self->{'Output'} eq $STDOUT
410 11 0 defined $id ? :
429 11 11 unless (defined $self->{'Encode'})
435 11 11 if (defined $self->{'Encode'}) { }
441 22 0 unless $self->{'Output'} eq $STDOUT
460 16 11 unless (defined $self->{'Encode'})
466 11 16 if (defined $self->{'Encode'}) { }
472 27 0 unless $self->{'Output'} eq $STDOUT
489 5 6 unless ($ebook->has_cover)
495 0 6 unless (defined $cover)
505 6 0 unless $self->{'Output'} eq $STDOUT
515 0 11 if ($self->{'Output'} eq $STDOUT)
528 5 6 unless ($num)
538 0 6 unless (-d $self->{'Output'})
540 0 0 unless mkdir $self->{'Output'}
552 0 35 unless (defined $img)
561 0 35 unless open my $fh, ">", $p
571 0 6 unless (eval { do { foreach my $i (0 .. $num - 1) { my $ii = $i + 1; my($img, $format) = $ebook->image($i); unless (defined $img) { warn "Error dumping image #$i, skipping\n"; next; } ; my $b = sprintf("%s-%0*d.%s", $base, $pad, $ii, $format); my $p = "File::Spec"->catfile($self->{'Output'}, $b); die "Failed to open $p for writing: $!\n" unless open my $fh, ">", $p; binmode $fh; print {$fh;} $img; close $fh; push @created, $p; } ; 1 } })
577 0 0 if $mkdir
582 0 6 unless (@created)
583 0 0 if $mkdir
600 0 115 if ($self->{'Mode'} == 0) { }
33 82 elsif ($self->{'Mode'} == 1) { }
11 71 elsif ($self->{'Mode'} == 2) { }
22 49 elsif ($self->{'Mode'} == 3) { }
27 22 elsif ($self->{'Mode'} == 4) { }
11 11 elsif ($self->{'Mode'} == 5) { }
11 0 elsif ($self->{'Mode'} == 6) { }