#!/usr/bin/perl
use
5.016;
my
$DOC
= File::Spec->catfile(
qw/t data gpl3.ztxt/
);
my
$ebook
= EBook::Ishmael::EBook->new(
$DOC
);
isa_ok(
$ebook
,
'EBook::Ishmael::EBook::zTXT'
);
like(
$ebook
->{Source},
qr/\Q$DOC\E$/
,
"source ok"
);
subtest
"PDB data ok"
=>
sub
{
plan
tests
=> 14;
is(
$ebook
->{_pdb}->name,
'GNU General Public License'
,
"name ok"
);
is(
$ebook
->{_pdb}->attributes, 8,
"attributes ok"
);
is(
$ebook
->{_pdb}->version, 298,
"version ok"
);
is(
$ebook
->{_pdb}->cdate, 1011337408,
"creation date ok"
);
is(
$ebook
->{_pdb}->mdate, 1011337408,
"modification date ok"
);
is(
$ebook
->{_pdb}->bdate, -2082844800,
"backup date ok"
);
is(
$ebook
->{_pdb}->modnum, 0,
"modification number ok"
);
is(
$ebook
->{_pdb}->app_info, 0,
"app info ok"
);
is(
$ebook
->{_pdb}->sort_info, 0,
"sort info ok"
);
is(
$ebook
->{_pdb}->type, 2052347988,
"type ok"
);
is(
$ebook
->{_pdb}->creator, 1196452973,
"creator ok"
);
is(
$ebook
->{_pdb}->uid_seed, 0,
"uid seed ok"
);
is(
$ebook
->{_pdb}->next_rec_list, 0,
"next record list ok"
);
is(
$ebook
->{_pdb}->recnum, 5,
"record number ok"
);
};
subtest
"zTXT header data ok"
=>
sub
{
plan
tests
=> 11;
is(
$ebook
->{_version}, 298,
"version ok"
);
is(
$ebook
->{_recnum}, 3,
"record number ok"
);
is(
$ebook
->{_size}, 18007,
"size ok"
);
is(
$ebook
->{_recsize}, 8192,
"record size ok"
);
is(
$ebook
->{_bookmarknum}, 4,
"bookmark number ok"
);
is(
$ebook
->{_bookmarkrec}, 4,
"bookmark record ok"
);
is(
$ebook
->{_annotnum}, 0,
"annotation number ok"
);
is(
$ebook
->{_annotrec}, 0,
"annotation record ok"
);
is(
$ebook
->{_flags}, 1,
"flags ok"
);
is(
$ebook
->{_reserved}, 0,
"reserved ok"
);
is(
$ebook
->{_crc32}, 0,
"crc32 ok"
);
};
is(
length
(
$ebook
->_text),
$ebook
->{_size},
"text decoding ok"
);
is_deeply(
$ebook
->metadata,
{
title
=> [
'GNU General Public License'
],
date
=> [
scalar
gmtime
$ebook
->{_pdb}->cdate ],
},
"metadata ok"
);
ok(
$ebook
->html,
"html ok"
);
done_testing();