File: deprecations.t

package info (click to toggle)
libpdf-builder-perl 3.027-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,992 kB
  • sloc: perl: 107,532; makefile: 10
file content (441 lines) | stat: -rw-r--r-- 15,963 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
#!/usr/bin/perl
use strict;
use warnings;

use Test::More tests => 49;

use PDF::Builder;
my ($pdf, $page, $pdf2, $pdf_string, $media, $sizes_PDF, $sizes_page, @box);

#### TBD when a deprecated interface is removed, keep the test for the new
####     replacement here, while commenting out the old interface

## new_api  -- removed from PDF::Builder, deprecated in PDF::API2
#use PDF::Builder::Resource::XObject::Image::JPEG;
#$pdf = PDF::Builder->new();
#my $image = PDF::Builder::Resource::XObject::Image::JPEG->new_api($pdf, 't/resources/1x1.jpg');
#ok($image, q{new_api still works});
# TBD need test for replacement call

# create a dummy PDF (as string) for further tests
$pdf = PDF::Builder->new();
$pdf->page()->gfx()->fillcolor('blue');
$pdf_string = $pdf->to_string();

## openScalar() -> open_scalar() -> from_string()
$pdf = PDF::Builder->openScalar($pdf_string);
is(ref($pdf), 'PDF::Builder',
   q{openScalar still works});
$pdf = PDF::Builder->open_scalar($pdf_string);
is(ref($pdf), 'PDF::Builder',
   q{open_scalar replacement for openScalar IS available});
$pdf = PDF::Builder->from_string($pdf_string);
is(ref($pdf), 'PDF::Builder',
   q{from_string replacement for openScalar and open_scalar IS available});

## importpage() -> import_page()
#  removed from PDF::Builder, deprecated in PDF::API2
$pdf2 = PDF::Builder->new();
#$page = $pdf2->importpage($pdf, 1);
#is(ref($page), 'PDF::Builder::Page',
#   q{importpage still works});
$page = $pdf2->import_page($pdf, 1);
is(ref($page), 'PDF::Builder::Page',
   q{import_page replacement for importpage IS available});

## openpage() -> open_page()
#  replaced by open_page in API2
$pdf2 = PDF::Builder->from_string($pdf_string);
$page = $pdf2->openpage(1);
is(ref($page), 'PDF::Builder::Page',
   q{openpage still works});
$page = $pdf2->open_page(1);
is(ref($page), 'PDF::Builder::Page',
   q{open_page replacement for openpage IS available});

# PDF::Builder-specific cases to ADD tests for (deprecated but NOT yet removed):
#
##  elementsof() -> elements()
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
# should be US letter [ 0 0 612 792 ] for default media
#$media = $page->find_prop('MediaBox');
#$media = [ map { $_->val() } $media->elementsof() ];
#ok($media->[0]==0 && $media->[1]==0 && $media->[2]==612 && $media->[3]==792,
    #q{elementsof still works});
$media = $page->find_prop('MediaBox');
$media = [ map { $_->val() } $media->elements() ];
ok($media->[0]==0 && $media->[1]==0 && $media->[2]==612 && $media->[3]==792,
    q{elements replacement for elementsof IS available});
 
#  removeobj() -> (gone)

#  get_mediabox() -> mediabox()
#  default mediabox size, inherited by page
# should be US letter [ 0 0 612 792 ] for default media
$sizes_PDF  = [0, 0, 612, 792];
$sizes_page = [0, 0, 612, 792];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
#@box = $page->get_mediabox();
#ok(array_comp($sizes_page, @box),
#    q{get_mediabox still works for default page media size});
@box = $pdf2->mediabox();
ok(array_comp($sizes_PDF, @box),
    q{mediabox IS available for default PDF media size});
@box = $page->mediabox();
ok(array_comp($sizes_page, @box),
    q{mediabox replacement for get_mediabox IS available for default page media size});

#  set mediabox at PDF, page should inherit
$sizes_PDF  = [ 0, 0, 100, 150 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->mediabox(0, 0, 100, 150);
$page = $pdf2->page();
#@box = $page->get_mediabox();
#ok(array_comp($sizes_page, @box),
#    q{get_mediabox still works for PDF-set page media size});
@box = $pdf2->mediabox();
ok(array_comp($sizes_PDF, @box),
    q{mediabox IS available for PDF-set PDF media size});
@box = $page->mediabox();
ok(array_comp($sizes_page, @box),
    q{mediabox replacement for get_mediabox IS available for PDF-set page media size});

#  set mediabox at page, PDF is default
$sizes_PDF  = [ 0, 0, 612, 792 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
$page->mediabox(0, 0, 100, 150);
#@box = $page->get_mediabox();
#ok(array_comp($sizes_page, @box),
#    q{get_mediabox still works for page-set page media size});
@box = $pdf2->mediabox();
ok(array_comp($sizes_PDF, @box),
    q{mediabox IS available for default PDF media size});
@box = $page->mediabox();
ok(array_comp($sizes_page, @box),
    q{mediabox replacement for get_mediabox IS available for page-set page media size});

#  set mediabox at PDF and page
$sizes_PDF  = [ 0, 0, 200, 300 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->mediabox(0, 0, 200, 300);
$page = $pdf2->page();
$page->mediabox(0, 0, 100, 150);
#@box = $page->get_mediabox();
#ok(array_comp($sizes_page, @box),
#    q{get_mediabox still works for page-set page media size});
@box = $pdf2->mediabox();
ok(array_comp($sizes_PDF, @box),
    q{mediabox IS available for PDF-set PDF media size});
@box = $page->mediabox();
ok(array_comp($sizes_page, @box),
    q{mediabox replacement for get_mediabox IS available for page-set page media size});

#  get_cropbox() -> cropbox()
#  default cropbox size, inherited by page
#  should be US letter [ 0 0 612 792 ] for default media
$sizes_PDF  = [0, 0, 612, 792];
$sizes_page = [0, 0, 612, 792];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
#@box = $page->get_cropbox();
#ok(array_comp($sizes_page, @box),
#    q{get_cropbox still works for default page cropbox size});
@box = $pdf2->cropbox();
ok(array_comp($sizes_PDF, @box),
    q{cropbox IS available for default PDF cropbox size});
@box = $page->cropbox();
ok(array_comp($sizes_page, @box),
    q{cropbox replacement for get_cropbox IS available for default page cropbox size});

#  set cropbox at PDF, page should inherit
$sizes_PDF  = [ 0, 0, 100, 150 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->cropbox(0, 0, 100, 150);
$page = $pdf2->page();
#@box = $page->get_cropbox();
#ok(array_comp($sizes_page, @box),
#    q{get_cropbox still works for PDF-set page cropbox size});
@box = $pdf2->cropbox();
ok(array_comp($sizes_PDF, @box),
    q{cropbox IS available for PDF-set PDF cropbox size});
@box = $page->cropbox();
ok(array_comp($sizes_page, @box),
    q{cropbox replacement for get_cropbox IS available for PDF-set page cropbox size});

#  set cropbox at page, PDF is default
$sizes_PDF  = [ 0, 0, 612, 792 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
$page->cropbox(0, 0, 100, 150);
#@box = $page->get_cropbox();
#ok(array_comp($sizes_page, @box),
#    q{get_cropbox still works for page-set page cropbox size});
@box = $pdf2->cropbox();
ok(array_comp($sizes_PDF, @box),
    q{cropbox IS available for default PDF cropbox size});
@box = $page->cropbox();
ok(array_comp($sizes_page, @box),
    q{cropbox replacement for get_cropbox IS available for page-set page cropbox size});

#  set cropbox at PDF and page
$sizes_PDF  = [ 0, 0, 200, 300 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->cropbox(0, 0, 200, 300);
$page = $pdf2->page();
$page->cropbox(0, 0, 100, 150);
#@box = $page->get_cropbox();
#ok(array_comp($sizes_page, @box),
#    q{get_cropbox still works for page-set page cropbox size});
@box = $pdf2->cropbox();
ok(array_comp($sizes_PDF, @box),
    q{cropbox IS available for PDF-set PDF cropbox size});
@box = $page->cropbox();
ok(array_comp($sizes_page, @box),
    q{cropbox replacement for get_cropbox IS available for page-set page cropbox size});

#  get_bleedbox() -> bleedbox()
#  default bleedbox size, inherited by page
#  should be US letter [ 0 0 612 792 ] for default media
$sizes_PDF  = [0, 0, 612, 792];
$sizes_page = [0, 0, 612, 792];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
#@box = $page->get_bleedbox();
#ok(array_comp($sizes_page, @box),
#    q{get_bleedbox still works for default page bleedbox size});
@box = $pdf2->bleedbox();
ok(array_comp($sizes_PDF, @box),
    q{bleedbox IS available for default PDF bleedbox size});
@box = $page->bleedbox();
ok(array_comp($sizes_page, @box),
    q{bleedbox replacement for get_bleedbox IS available for default page bleedbox size});

#  set bleedbox at PDF, page should inherit
$sizes_PDF  = [ 0, 0, 100, 150 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->bleedbox(0, 0, 100, 150);
$page = $pdf2->page();
#@box = $page->get_bleedbox();
#ok(array_comp($sizes_page, @box),
#    q{get_bleedbox still works for PDF-set page bleedbox size});
@box = $pdf2->bleedbox();
ok(array_comp($sizes_PDF, @box),
    q{bleedbox IS available for PDF-set PDF bleedbox size});
@box = $page->bleedbox();
ok(array_comp($sizes_page, @box),
    q{bleedbox replacement for get_bleedbox IS available for PDF-set page bleedbox size});

#  set bleedbox at page, PDF is default
$sizes_PDF  = [ 0, 0, 612, 792 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
$page->bleedbox(0, 0, 100, 150);
#@box = $page->get_bleedbox();
#ok(array_comp($sizes_page, @box),
#    q{get_bleedbox still works for page-set page bleedbox size});
@box = $pdf2->bleedbox();
ok(array_comp($sizes_PDF, @box),
    q{bleedbox IS available for default PDF bleedbox size});
@box = $page->bleedbox();
ok(array_comp($sizes_page, @box),
    q{bleedbox replacement for get_bleedbox IS available for page-set page bleedbox size});

#  set bleedbox at PDF and page
$sizes_PDF  = [ 0, 0, 200, 300 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->bleedbox(0, 0, 200, 300);
$page = $pdf2->page();
$page->bleedbox(0, 0, 100, 150);
#@box = $page->get_bleedbox();
#ok(array_comp($sizes_page, @box),
#    q{get_bleedbox still works for page-set page bleedbox size});
@box = $pdf2->bleedbox();
ok(array_comp($sizes_PDF, @box),
    q{bleedbox IS available for PDF-set PDF bleedbox size});
@box = $page->bleedbox();
ok(array_comp($sizes_page, @box),
    q{bleedbox replacement for get_bleedbox IS available for page-set page bleedbox size});

#  get_trimbox() -> trimbox()
#  default trimbox size, inherited by page
#  should be US letter [ 0 0 612 792 ] for default media
$sizes_PDF  = [0, 0, 612, 792];
$sizes_page = [0, 0, 612, 792];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
#@box = $page->get_trimbox();
#ok(array_comp($sizes_page, @box),
#    q{get_trimbox still works for default page trimbox size});
@box = $pdf2->trimbox();
ok(array_comp($sizes_PDF, @box),
    q{trimbox IS available for default PDF trimbox size});
@box = $page->trimbox();
ok(array_comp($sizes_page, @box),
    q{trimbox replacement for get_trimbox IS available for default page trimbox size});

#  set trimbox at PDF, page should inherit
$sizes_PDF  = [ 0, 0, 100, 150 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->trimbox(0, 0, 100, 150);
$page = $pdf2->page();
#@box = $page->get_trimbox();
#ok(array_comp($sizes_page, @box),
#    q{get_trimbox still works for PDF-set page trimbox size});
@box = $pdf2->trimbox();
ok(array_comp($sizes_PDF, @box),
    q{trimbox IS available for PDF-set PDF trimbox size});
@box = $page->trimbox();
ok(array_comp($sizes_page, @box),
    q{trimbox replacement for get_trimbox IS available for PDF-set page trimbox size});

#  set trimbox at page, PDF is default
$sizes_PDF  = [ 0, 0, 612, 792 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
$page->trimbox(0, 0, 100, 150);
#@box = $page->get_trimbox();
#ok(array_comp($sizes_page, @box),
#    q{get_trimbox still works for page-set page trimbox size});
@box = $pdf2->trimbox();
ok(array_comp($sizes_PDF, @box),
    q{trimbox IS available for default PDF trimbox size});
@box = $page->trimbox();
ok(array_comp($sizes_page, @box),
    q{trimbox replacement for get_trimbox IS available for page-set page trimbox size});

#  set trimbox at PDF and page
$sizes_PDF  = [ 0, 0, 200, 300 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->trimbox(0, 0, 200, 300);
$page = $pdf2->page();
$page->trimbox(0, 0, 100, 150);
#@box = $page->get_trimbox();
#ok(array_comp($sizes_page, @box),
#    q{get_trimbox still works for page-set page trimbox size});
@box = $pdf2->trimbox();
ok(array_comp($sizes_PDF, @box),
    q{trimbox IS available for PDF-set PDF trimbox size});
@box = $page->trimbox();
ok(array_comp($sizes_page, @box),
    q{trimbox replacement for get_trimbox IS available for page-set page trimbox size});

#  get_artbox() -> artbox()
#  default artbox size, inherited by page
#  should be US letter [ 0 0 612 792 ] for default media
$sizes_PDF  = [0, 0, 612, 792];
$sizes_page = [0, 0, 612, 792];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
#@box = $page->get_artbox();
#ok(array_comp($sizes_page, @box),
#    q{get_artbox still works for default page artbox size});
@box = $pdf2->artbox();
ok(array_comp($sizes_PDF, @box),
    q{artbox IS available for default PDF artbox size});
@box = $page->artbox();
ok(array_comp($sizes_page, @box),
    q{artbox replacement for get_artbox IS available for default page artbox size});

#  set artbox at PDF, page should inherit
$sizes_PDF  = [ 0, 0, 100, 150 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->artbox(0, 0, 100, 150);
$page = $pdf2->page();
#@box = $page->get_artbox();
#ok(array_comp($sizes_page, @box),
#    q{get_artbox still works for PDF-set page artbox size});
@box = $pdf2->artbox();
ok(array_comp($sizes_PDF, @box),
    q{artbox IS available for PDF-set PDF artbox size});
@box = $page->artbox();
ok(array_comp($sizes_page, @box),
    q{artbox replacement for get_artbox IS available for PDF-set page artbox size});

#  set artbox at page, PDF is default
$sizes_PDF  = [ 0, 0, 612, 792 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$page = $pdf2->page();
$page->artbox(0, 0, 100, 150);
#@box = $page->get_artbox();
#ok(array_comp($sizes_page, @box),
#    q{get_artbox still works for page-set page artbox size});
@box = $pdf2->artbox();
ok(array_comp($sizes_PDF, @box),
    q{artbox IS available for default PDF artbox size});
@box = $page->artbox();
ok(array_comp($sizes_page, @box),
    q{artbox replacement for get_artbox IS available for page-set page artbox size});

#  set artbox at PDF and page
$sizes_PDF  = [ 0, 0, 200, 300 ];
$sizes_page = [ 0, 0, 100, 150 ];
$pdf2 = PDF::Builder->new();
$pdf2->artbox(0, 0, 200, 300);
$page = $pdf2->page();
$page->artbox(0, 0, 100, 150);
#@box = $page->get_artbox();
#ok(array_comp($sizes_page, @box),
#    q{get_artbox still works for page-set page artbox size});
@box = $pdf2->artbox();
ok(array_comp($sizes_PDF, @box),
    q{artbox IS available for PDF-set PDF artbox size});
@box = $page->artbox();
ok(array_comp($sizes_page, @box),
    q{artbox replacement for get_artbox IS available for page-set page artbox size});

# Invalid input to pageLabel
{ # for local declaration
    $pdf = PDF::Builder->new();
    local $SIG{__WARN__} = sub {};
    $pdf->pageLabel(0, { 'style' => 'arabic' });
    like($pdf->to_string(), qr{/PageLabels << /Nums \[ 0 << /S /D /St 1 >> \] >>},
	 q{pageLabel defaults to decimal if given invalid input});
}

## 
## ===== scheduled to be REMOVED 3/2023
##  lead() -> leading() 
#$pdf2 = PDF::Builder->new('compress' => 'none');
#my $text = $pdf2->page()->text();
#$text->lead(15);
#like($pdf2->to_string(), qr/15 TL/, q{lead still works });
$pdf2 = PDF::Builder->new('compress' => 'none');
my $text = $pdf2->page()->text();
$text->leading(15);
like($pdf2->to_string(), qr/15 TL/, q{leading replacement for lead IS available});
##
##  textlead() -> textleading()   Lite.pm only, no t test

# if nothing left to check...
#is(ref($pdf), 'PDF::Builder',
#    q{No deprecated tests to run at this time});

sub array_comp {
   my ($expected_size_ref, @got_size) = @_;
   my $len_e = scalar(@{$expected_size_ref});
   my $len_g = scalar(@got_size);
   if ($len_e != $len_g) { return 0; }
   for (my $e = 0; $e < $len_e; $e++) {
       if ($expected_size_ref->[$e] != $got_size[$e]) { return 0; }
   }
   return 1;
}

1;