File: 174_open_crashed_session.t

package info (click to toggle)
gscan2pdf 2.13.4-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,880 kB
  • sloc: perl: 22,686; xml: 81; makefile: 6
file content (46 lines) | stat: -rw-r--r-- 1,160 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
use warnings;
use strict;
use IPC::System::Simple qw(capture);
use Test::More tests => 3;
use File::Path qw(remove_tree);

BEGIN {
    use Gscan2pdf::Document;
    use Gtk3 -init;    # Could just call init separately
}

#########################

Gscan2pdf::Translation::set_domain('gscan2pdf');
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($WARN);

Gscan2pdf::Document->setup(Log::Log4perl::get_logger);
my $slist = Gscan2pdf::Document->new;
my $dir   = File::Spec->catfile( File::Spec->tmpdir, 'gscan2pdf-tmp' );
$slist->set_dir($dir);
$slist->open_session( dir => $dir );

like(
    capture( 'file', $slist->{data}[0][2]{filename} ),
    qr/PNG image data, 70 x 46, 8-bit\/color RGB, non-interlaced/,
    'PNG extracted with expected size'
);
is(
    $slist->{data}[0][2]->export_text,
    'The quick brown fox',
    'Basic OCR output extracted'
);

#########################

$slist = Gscan2pdf::Document->new;
unlink File::Spec->catfile( $dir, 'session' );
$slist->set_dir($dir);
$slist->open_session(
    error_callback => sub { pass('trapped missing session file') } );

#########################

Gscan2pdf::Document->quit;
remove_tree($dir);