File: 13-close.t

package info (click to toggle)
libpdf-create-perl 1.46-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 652 kB
  • sloc: perl: 3,352; makefile: 8
file content (37 lines) | stat: -rw-r--r-- 1,019 bytes parent folder | download | duplicates (5)
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
#!/usr/bin/perl

use strict; use warnings;
use PDF::Create;
use File::Temp qw/tempfile/;
use Test::More tests => 2;

my $get_filename = sub {
    my ($filehandle, $filename) = tempfile();
    return $filename;
};

my $get_filehandle = sub {
    my $filehandle = tempfile();
    return $filehandle;
};

my $pdf_with_filename   = create_pdf({ 'filename' => $get_filename->()   });
my $pdf_with_filehandle = create_pdf({ 'fh'       => $get_filehandle->() });

$pdf_with_filename->close();
ok(!defined fileno($pdf_with_filename->{fh}), 'pdf with filename not closed properly');

$pdf_with_filehandle->close();
ok(defined fileno($pdf_with_filehandle->{fh}), 'pdf with filehandle should not be closed');

sub create_pdf {
    my ($args) = @_;

    my $pdf  = PDF::Create->new(%$args);
    my $root = $pdf->new_page('MediaBox' => $pdf->get_page_size('A4'));
    my $font = $pdf->font('Encoding' => 'WinAnsiEncoding');
    my $page = $root->new_page;
    $page->stringc($font, 40, 306, 700, 'PDF::Create');

    return $pdf;
}