File: 49_cancel_to_png.t

package info (click to toggle)
gscan2pdf 1.2.6-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,560 kB
  • ctags: 445
  • sloc: perl: 16,714; xml: 32; makefile: 5
file content (65 lines) | stat: -rw-r--r-- 1,834 bytes parent folder | download
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
use warnings;
use strict;
use Test::More tests => 2;

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

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

use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($WARN);
my $logger = Log::Log4perl::get_logger;
Gscan2pdf::Document->setup($logger);

# Create test image
system('convert rose: test.pnm');

my $slist = Gscan2pdf::Document->new;

# dir for temporary files
my $dir = File::Temp->newdir;
$slist->set_dir($dir);

$slist->get_file_info(
    path              => 'test.pnm',
    finished_callback => sub {
        my ($info) = @_;
        $slist->import_file(
            info              => $info,
            first             => 1,
            last              => 1,
            finished_callback => sub {
                my $md5sum =
                  `md5sum $slist->{data}[0][2]{filename} | cut -c -32`;
                my $pid = $slist->to_png(
                    page               => $slist->{data}[0][2],
                    cancelled_callback => sub {
                        is(
                            $md5sum,
`md5sum $slist->{data}[0][2]{filename} | cut -c -32`,
                            'image not modified'
                        );
                        $slist->save_image(
                            path              => 'test.jpg',
                            list_of_pages     => [ $slist->{data}[0][2] ],
                            finished_callback => sub { Gtk2->main_quit }
                        );
                    }
                );
                $slist->cancel($pid);
            }
        );
    }
);
Gtk2->main;

is( system('identify test.jpg'),
    0, 'can create a valid JPG after cancelling previous process' );

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

unlink 'test.pnm', 'test.jpg';
Gscan2pdf::Document->quit();