Branch Coverage

blib/lib/EBook/Ishmael.pm
Criterion Covered Total %
branch 75 120 62.5


line true false branch
101 0 115 if ($file eq $STDIN) { }
119 88 0 if ($file ne $STDOUT) { }
120 0 88 unless open my $fh, ">", $file
164 33 0 if (not $_[1] or exists $META_MODES{lc $_[1]}) { }
174 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; } )
176 0 115 unless $self->{'Ebook'} = shift @ARGV
181 11 104 if ($self->{'Mode'} == 5) { }
11 93 elsif ($self->{'Mode'} == 6) { }
189 0 115 if (defined $self->{'Format'})
193 0 0 if (exists $FORMAT_ALTS{$self->{'Format'}})
197 0 0 unless (exists $EBook::Ishmael::EBOOK_FORMATS{$self->{'Format'}})
203 0 115 if (defined $self->{'Encode'} and not defined &find_encoding($self->{'Encode'}))
207 0 115 if (defined $self->{'FileEnc'} and not defined &find_encoding($self->{'FileEnc'}))
238 0 0 unless (defined $self->{'Encode'})
250 0 0 if (defined $self->{'Encode'}) { }
256 0 0 unless $self->{'Output'} eq $STDOUT
266 0 33 if ($self->{'Meta'} eq "pxml" or $self->{'Meta'} eq "pjson")
270 11 22 if ($self->{'Meta'} eq 'ishmael') { }
11 11 elsif ($self->{'Meta'} eq 'json' or $self->{'Meta'} eq 'pjson') { }
11 0 elsif ($self->{'Meta'} eq 'xml' or $self->{'Meta'} eq 'pxml') { }
296 5 6 if (defined $meta{'Created'})
299 7 4 if (defined $meta{'Modified'})
308 0 53 unless defined $meta{$k}
309 15 38 if (ref $meta{$k} eq 'ARRAY') { }
316 11 0 unless $self->{'Output'} eq $STDOUT
334 5 6 if (defined $meta->{'Created'})
337 7 4 if (defined $meta->{'Modified'})
346 11 0 unless $self->{'Output'} eq $STDOUT
364 5 6 if (defined $meta->{'Created'})
367 7 4 if (defined $meta->{'Modified'})
382 0 53 unless defined $meta->{$k}
386 15 38 if (ref $meta->{$k} eq 'ARRAY') { }
404 11 0 unless $self->{'Output'} eq $STDOUT
416 11 0 defined $id ? :
435 11 11 unless (defined $self->{'Encode'})
441 11 11 if (defined $self->{'Encode'}) { }
447 22 0 unless $self->{'Output'} eq $STDOUT
466 16 11 unless (defined $self->{'Encode'})
472 11 16 if (defined $self->{'Encode'}) { }
478 27 0 unless $self->{'Output'} eq $STDOUT
495 5 6 unless ($ebook->has_cover)
503 0 6 unless (defined $fmt)
515 6 0 unless $self->{'Output'} eq $STDOUT
525 0 11 if ($self->{'Output'} eq $STDOUT)
538 5 6 unless ($num)
548 0 6 unless (-d $self->{'Output'})
550 0 0 unless mkdir $self->{'Output'}
564 0 35 unless (defined $id)
573 0 35 unless open my $fh, ">", $p
583 0 6 unless (eval { do { foreach my $i (0 .. $num - 1) { my $ii = $i + 1; my $img = $ebook->image($i); my $id = image_id($img); unless (defined $id) { warn "Could not identify image #${ii}'s format, skipping\n"; next; } ; my $b = sprintf("%s-%0*d.%s", $base, $pad, $ii, $id); 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 } })
589 0 0 if $mkdir
594 0 6 unless (@created)
595 0 0 if $mkdir
612 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) { }