1 m4_define([RENDER_WEAVE_6X6],
2 [AT_DATA([input], [6 6 $1
29 m4_define([RENDER_8X8],
30 [AT_DATA([input], [8 8 $1
83 # This input is something of a counterexample, in that it could render
84 # compactly as this if the algorithm for choosing cell widths and
85 # heights were smarter:
104 m4_define([RENDER_8X8_2],
105 [AT_DATA([input], [8 8 $1
124 2*3 @MNOPQ\nRSTUV\nWXYZ0
129 AT_BANNER([output rendering -- no page breaking])
131 AT_SETUP([single cell])
132 AT_KEYWORDS([render rendering])
133 AT_DATA([input], [1 1
136 AT_CHECK([render-test input], [0], [abc
140 AT_SETUP([single cell with border])
141 AT_KEYWORDS([render rendering])
142 AT_DATA([input], [1 1
145 AT_CHECK([render-test input], [0], [dnl
152 AT_SETUP([joined columns])
153 AT_KEYWORDS([render rendering])
154 AT_DATA([input], [2 2
159 AT_CHECK([render-test input], [0], [dnl
168 AT_SETUP([3x3, joined rows and columns])
169 AT_KEYWORDS([render rendering])
170 AT_DATA([input], [3 3
177 AT_CHECK([render-test input], [0], [dnl
188 AT_SETUP([6x6, joined rows and columns])
189 AT_KEYWORDS([render rendering])
191 AT_CHECK([render-test input], [0], [dnl
208 AT_SETUP([3 rows with many joined cells])
209 AT_KEYWORDS([render rendering])
210 AT_CAPTURE_FILE([input])
211 AT_DATA([input], [3 19
212 m4_foreach([x], [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s], [x
214 m4_for([x], [2], [19], [1], [1*2 @x
217 AT_CHECK([render-test input], [0], [dnl
218 a b c d e f g h i j k l m n o p q r s
219 +-+---+---+---+---+---+---+---+---+----+
220 |1| 2| 3| 4| 5| 6| 7| 8| 9| 10|
221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+
222 | 11| 12| 13| 14| 15| 16| 17| 18| 19|20|
223 +---+---+---+---+---+---+---+---+---+--+
227 AT_SETUP([3 columns with many joined cells])
228 AT_KEYWORDS([render rendering])
229 AT_CAPTURE_FILE([input])
230 AT_DATA([input], [3 19
231 m4_foreach([x], [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s], [x
233 m4_for([x], [2], [19], [1], [1*2 @x\nab\ncd
236 AT_CHECK([render-test --transpose input], [0], [dnl
279 AT_SETUP([joined rows])
280 AT_KEYWORDS([render rendering])
281 AT_DATA([input], [2 2
286 AT_CHECK([render-test input], [0], [dnl
295 dnl This checks for bug #31346, a segmentation fault that surfaced
296 dnl when two or more rows had no unspanned cells and no rules.
297 AT_SETUP([joined rows only, no rules])
298 AT_KEYWORDS([render rendering])
299 AT_DATA([input], [2 2
303 AT_CHECK([render-test input], [0], [dnl
310 AT_SETUP([joined columns only, no rules])
311 AT_KEYWORDS([render rendering])
312 AT_DATA([input], [2 2
316 AT_CHECK([render-test input], [0], [dnl
325 AT_SETUP([5 big narrow cells])
326 AT_KEYWORDS([render rendering])
327 AT_DATA([input], [1 5
328 @This cell has a lot of text but its minimum width is pretty narrow.
329 @This cell also has a lot of text but its minimum width is pretty narrow.
330 @A third cell with a lot of text but a pretty narrow minimum width.
331 @A fourth cell with a lot of text but a pretty narrow minimum width.
332 @A fifth cell with a lot of text but a pretty narrow minimum width.
334 AT_CHECK([render-test input], [0], [dnl
335 +---------------+---------------+--------------+---------------+--------------+
336 |This cell has a| This cell also| A third cell| A fourth cell| A fifth cell|
337 |lot of text but| has a lot of| with a lot of| with a lot of| with a lot of|
338 | its minimum| text but its| text but a| text but a| text but a|
339 |width is pretty| minimum width| pretty narrow| pretty narrow| pretty narrow|
340 | narrow.| is pretty|minimum width.| minimum width.|minimum width.|
342 +---------------+---------------+--------------+---------------+--------------+
346 AT_SETUP([9 big narrow cells])
347 AT_KEYWORDS([render rendering])
348 AT_DATA([input], [1 9
349 @This cell has a lot of text but its minimum width is pretty narrow.
350 @This cell also has a lot of text but its minimum width is pretty narrow.
351 @A third cell with a lot of text but a pretty narrow minimum width.
352 @A fourth cell with a lot of text but a pretty narrow minimum width.
353 @A fifth cell with a lot of text but a pretty narrow minimum width.
354 @A sixth cell with a lot of text but a pretty narrow minimum width.
355 @A seventh cell with a lot of text but a pretty narrow minimum width.
356 @A eighth cell with a lot of text but a pretty narrow minimum width.
357 @A ninth cell with a lot of text but a pretty narrow minimum width.
359 AT_CHECK([render-test input], [0], [dnl
360 +--------+-------+--------+--------+-------+--------+--------+-------+--------+
361 | This| This| A third|A fourth|A fifth| A sixth| A| A| A ninth|
362 |cell has| cell| cell| cell| cell| cell| seventh| eighth| cell|
363 |a lot of| also| with a| with a| with a| with a| cell| cell| with a|
364 |text but| has a| lot of| lot of| lot of| lot of| with a| with a| lot of|
365 | its| lot of|text but|text but| text|text but| lot of| lot of|text but|
366 | minimum| text|a pretty|a pretty| but a|a pretty|text but| text|a pretty|
367 |width is|but its| narrow| narrow| pretty| narrow|a pretty| but a| narrow|
368 | pretty|minimum| minimum| minimum| narrow| minimum| narrow| pretty| minimum|
369 | narrow.| width| width.| width.|minimum| width.| minimum| narrow| width.|
370 | | is| | | width.| | width.|minimum| |
371 | | pretty| | | | | | width.| |
372 | |narrow.| | | | | | | |
373 +--------+-------+--------+--------+-------+--------+--------+-------+--------+
377 AT_SETUP([2 big cells with new-lines])
378 AT_KEYWORDS([render rendering])
379 AT_DATA([input], [1 2
380 @PSPP does not place many restrictions on ordering of commands. The main restriction is that variables must be defined before they are otherwise referenced. This section describes the details of command ordering, but most users will have no need to refer to them. PSPP possesses five internal states, called initial, INPUT PROGRAM, FILE TYPE, transformation, and procedure states.
381 @PSPP includes special support\nfor unknown numeric data values.\nMissing observations are assigned\na special value, called the\n``system‑missing value''. This\n``value'' actually indicates the\nabsence of a value; it\nmeans that the actual\nvalue is unknown.
383 AT_CHECK([render-test input], [0], [dnl
384 +----------------------------------------------------------+------------------+
385 | PSPP does not place many restrictions on ordering of| PSPP includes|
386 | commands. The main restriction is that variables must be| special support|
387 | defined before they are otherwise referenced. This| for unknown|
388 | section describes the details of command ordering, but| numeric data|
389 | most users will have no need to refer to them. PSPP| values.|
390 | possesses five internal states, called initial, INPUT| Missing|
391 | PROGRAM, FILE TYPE, transformation, and procedure states.| observations are|
393 | | a special value,|
395 | | ``system‑missing|
397 | |``value'' actually|
403 | | value is unknown.|
404 +----------------------------------------------------------+------------------+
408 AT_SETUP([8x8 with many 2x2 joins])
409 AT_KEYWORDS([render rendering])
411 AT_CHECK([render-test input], [0],[dnl
437 AT_BANNER([output rendering -- horizontal page breaks])
439 AT_SETUP([breaking row of many small cells])
440 AT_KEYWORDS([render rendering])
441 AT_CAPTURE_FILE([input])
442 AT_DATA([input], [1 50
443 m4_for([x], [1], [50], [1], [@x
445 AT_CHECK([render-test input], [0], [dnl
446 +-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
447 |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|
448 +-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
450 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
451 |30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|
452 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
456 AT_SETUP([breaking row of many small cells, with headers])
457 AT_KEYWORDS([render rendering])
458 AT_CAPTURE_FILE([input])
459 AT_DATA([input], [1 54 2 2
462 m4_for([x], [1], [50], [1], [@x
467 AT_CHECK([render-test input], [0], [dnl
468 +--+--+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
469 |ha|hb|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|hc|hd|
470 +--+--+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
472 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
473 |ha|hb|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|hc|hd|
474 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
476 +--+--+--+--+--+--+--+
477 |ha|hb|48|49|50|hc|hd|
478 +--+--+--+--+--+--+--+
482 AT_SETUP([breaking row of many medium-size cells])
483 AT_KEYWORDS([render rendering])
484 AT_CAPTURE_FILE([input])
485 AT_DATA([input], [1 50
486 m4_for([x], [1], [50], [1], [@cell x
488 AT_CHECK([render-test input], [0], [dnl
489 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
490 |cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|
491 | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15|
492 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
494 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
495 |cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|
496 | 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 30|
497 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
499 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
500 |cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|
501 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 40| 41| 42| 43| 44| 45|
502 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
504 +----+----+----+----+----+
505 |cell|cell|cell|cell|cell|
506 | 46| 47| 48| 49| 50|
507 +----+----+----+----+----+
511 AT_SETUP([breaking row of many medium-size cells, with headers])
512 AT_KEYWORDS([render rendering])
513 AT_CAPTURE_FILE([input])
514 AT_DATA([input], [1 52 1 1
516 m4_for([x], [1], [50], [1], [@cell x
520 AT_CHECK([render-test input], [0], [dnl
521 +----+----+----+----+----+----+----+----+----+----+----+----+
522 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
523 | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12|
524 +----+----+----+----+----+----+----+----+----+----+----+----+
526 +----+----+----+----+----+----+----+----+----+----+----+----+
527 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
528 | 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24|
529 +----+----+----+----+----+----+----+----+----+----+----+----+
531 +----+----+----+----+----+----+----+----+----+----+----+----+
532 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
533 | 25| 26| 27| 28| 29| 30| 31| 32| 33| 34| 35| 36|
534 +----+----+----+----+----+----+----+----+----+----+----+----+
536 +----+----+----+----+----+----+----+----+----+----+----+----+
537 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
538 | 37| 38| 39| 40| 41| 42| 43| 44| 45| 46| 47| 48|
539 +----+----+----+----+----+----+----+----+----+----+----+----+
542 header1|cell|cell|header2
548 AT_SETUP([breaking row of many big narrow cells])
549 AT_KEYWORDS([render rendering])
550 AT_CAPTURE_FILE([input])
551 AT_DATA([input], [1 50
552 m4_for([x], [1], [50], [1], [@This is cell x in a series of 50.
554 AT_CHECK([render-test input], [0], [dnl
555 +------+------+------+------+------+------+------+------+------+------+------+
556 | This| This| This| This| This| This| This| This| This| This| This|
557 | is| is| is| is| is| is| is| is| is| is| is|
558 |cell 1|cell 2|cell 3|cell 4|cell 5|cell 6|cell 7|cell 8|cell 9| cell| cell|
559 | in a| in a| in a| in a| in a| in a| in a| in a| in a| 10 in| 11 in|
560 |series|series|series|series|series|series|series|series|series| a| a|
561 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|series|series|
562 | | | | | | | | | |of 50.|of 50.|
563 +------+------+------+------+------+------+------+------+------+------+------+
565 +------+------+------+------+------+------+------+------+------+------+------+
566 | This| This| This| This| This| This| This| This| This| This| This|
567 | is| is| is| is| is| is| is| is| is| is| is|
568 | cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell|
569 | 12 in| 13 in| 14 in| 15 in| 16 in| 17 in| 18 in| 19 in| 20 in| 21 in| 22 in|
570 | a| a| a| a| a| a| a| a| a| a| a|
571 |series|series|series|series|series|series|series|series|series|series|series|
572 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
573 +------+------+------+------+------+------+------+------+------+------+------+
575 +------+------+------+------+------+------+------+------+------+------+------+
576 | This| This| This| This| This| This| This| This| This| This| This|
577 | is| is| is| is| is| is| is| is| is| is| is|
578 | cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell|
579 | 23 in| 24 in| 25 in| 26 in| 27 in| 28 in| 29 in| 30 in| 31 in| 32 in| 33 in|
580 | a| a| a| a| a| a| a| a| a| a| a|
581 |series|series|series|series|series|series|series|series|series|series|series|
582 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
583 +------+------+------+------+------+------+------+------+------+------+------+
585 +------+------+------+------+------+------+------+------+------+------+------+
586 | This| This| This| This| This| This| This| This| This| This| This|
587 | is| is| is| is| is| is| is| is| is| is| is|
588 | cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell|
589 | 34 in| 35 in| 36 in| 37 in| 38 in| 39 in| 40 in| 41 in| 42 in| 43 in| 44 in|
590 | a| a| a| a| a| a| a| a| a| a| a|
591 |series|series|series|series|series|series|series|series|series|series|series|
592 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
593 +------+------+------+------+------+------+------+------+------+------+------+
595 +------+------+------+------+------+------+
596 | This| This| This| This| This| This|
597 | is| is| is| is| is| is|
598 | cell| cell| cell| cell| cell| cell|
599 | 45 in| 46 in| 47 in| 48 in| 49 in| 50 in|
601 |series|series|series|series|series|series|
602 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
603 +------+------+------+------+------+------+
607 AT_SETUP([breaking 2 rows of many small cells])
608 AT_KEYWORDS([render rendering])
609 AT_CAPTURE_FILE([input])
610 AT_DATA([input], [2 50
611 m4_for([x], [1], [100], [1], [@x
613 AT_CHECK([render-test input], [0], [dnl
614 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
615 | 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|
616 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
617 |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|
618 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
620 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
621 |27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49| 50|
622 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
623 |77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|
624 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
628 AT_SETUP([breaking 3 rows with many joined cells])
629 AT_KEYWORDS([render rendering])
630 AT_CAPTURE_FILE([input])
631 AT_DATA([input], [3 49
632 m4_foreach([var], [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,dnl
633 A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W], [var
635 m4_for([x], [2], [49], [1], [1*2 @x
638 AT_CHECK([render-test input], [0], [dnl
639 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M
640 +-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
641 |1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20|
642 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
643 | 26| 27| 28| 29| 30| 31| 32| 33| 34| 35| 36| 37| 38| 39| 40| 41| 42| 43| 44| 4
644 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--
647 +---+---+---+---+----+
648 | 21| 22| 23| 24| 25|
649 +-+-+-+-+-+-+-+-+-+--+
650 45| 46| 47| 48| 49|50|
651 --+---+---+---+---+--+
655 AT_SETUP([horz break 6x6, joined rows and columns])
656 AT_KEYWORDS([render rendering])
658 AT_CHECK([render-test --width=6 input], [0], [dnl
703 AT_SETUP([horz break 6x6, joined rows and columns, left header])
704 AT_KEYWORDS([render rendering])
705 RENDER_WEAVE_6X6([1 0 0 0])
706 AT_CHECK([render-test --width=10 input], [0], [dnl
737 AT_SETUP([horz break 6x6, joined rows and columns, right header])
738 AT_KEYWORDS([render rendering])
739 RENDER_WEAVE_6X6([0 1 0 0])
740 AT_CHECK([render-test --width=10 input], [0], [dnl
771 AT_SETUP([breaking joined cells too wide for page])
772 AT_KEYWORDS([render rendering])
773 AT_DATA([input], [4 6
787 AT_CHECK([render-test --width=10 input], [0], [dnl
814 AT_SETUP([breaking joined cells much too wide for page])
815 AT_KEYWORDS([render rendering])
816 AT_DATA([input], [4 6
830 AT_CHECK([render-test --width=6 input], [0], [dnl
869 AT_SETUP([breaking cell too wide for page, no border])
870 AT_KEYWORDS([render rendering])
871 AT_CAPTURE_FILE([input])
872 AT_DATA([input], [1 1
873 abcdefghijklmnopqrstuvwxyz
875 AT_CHECK([render-test --width=6 input], [0], [dnl
888 AT_SETUP([breaking cell too wide for page, with border])
889 AT_KEYWORDS([render rendering])
890 AT_CAPTURE_FILE([input])
891 AT_DATA([input], [1 1
892 @abcdefghijklmnopqrstuvwxyz
894 AT_CHECK([render-test --width=6 input], [0], [dnl
925 AT_SETUP([horz break 8x8 with many 2x2 joins])
926 AT_KEYWORDS([render rendering])
928 AT_CHECK([render-test --width=8 input], [0],[dnl
1002 AT_BANNER([output rendering -- vertical page breaks])
1004 AT_SETUP([breaking column of many small cells])
1005 AT_KEYWORDS([render rendering])
1006 AT_CAPTURE_FILE([input])
1007 AT_DATA([input], [20 1
1008 m4_for([x], [1], [20], [1], [@x
1010 AT_CHECK([render-test --length=10 input], [0], [dnl
1063 AT_SETUP([breaking column of many small cells, with headers])
1064 AT_KEYWORDS([render rendering])
1065 AT_CAPTURE_FILE([input])
1066 AT_DATA([input], [17 1 0 0 1 1
1068 m4_for([x], [1], [15], [1], [@x
1071 AT_CHECK([render-test --length=13 input], [0], [dnl
1128 AT_SETUP([disabling too-big headers])
1129 AT_KEYWORDS([render rendering])
1130 AT_CAPTURE_FILE([input])
1131 AT_DATA([input], [17 1 0 0 1 1
1133 m4_for([x], [1], [15], [1], [@x
1136 AT_CHECK([render-test --length=10 input], [0], [dnl
1183 AT_SETUP([breaking column of many medium-size cells])
1184 AT_KEYWORDS([render rendering])
1185 AT_CAPTURE_FILE([input])
1186 AT_DATA([input], [20 1
1187 m4_for([x], [1], [20], [1], [@top x\ncell x\nbottom x
1189 AT_CHECK([render-test --length 10 input], [0], [dnl
1292 AT_SETUP([breaking 3 columns with many joined cells])
1293 AT_KEYWORDS([render rendering])
1294 AT_CAPTURE_FILE([input])
1295 AT_DATA([input], [3 19
1296 m4_foreach([x], [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s], [x
1298 m4_for([x], [2], [19], [1], [1*2 @x\nab\ncd
1301 AT_CHECK([render-test --length=6 --transpose input], [0], [dnl
1362 AT_SETUP([vert break 6x6, joined rows and columns])
1363 AT_KEYWORDS([render rendering])
1365 AT_CHECK([render-test --length=6 input], [0], [dnl
1386 AT_SETUP([breaking joined cells too tall for page])
1387 AT_KEYWORDS([render rendering])
1388 AT_DATA([input], [4 6
1389 1*6 @abc\ndef\nghi\njkl\nmno\npqr\nstu\nvwx\nyzA\nBCD\nEFG
1390 1*3 @HIJ\nKLM\nOPQ\nRST\nUVW
1391 1*3 @XYZ\n012\n345\n678\n90a
1402 AT_CHECK([render-test --transpose --length=6 input], [0], [dnl
1423 AT_SETUP([breaking cell too tall for page, no border])
1424 AT_KEYWORDS([render rendering])
1425 AT_CAPTURE_FILE([input])
1426 AT_DATA([input], [1 1
1427 abc defg hij klmn opq rstu vwx yz ABCDE FGH I JK LMNOP QR STU VWXYZ
1429 AT_CHECK([render-test --width=6 --length=6 input], [0], [dnl
1448 AT_SETUP([breaking cell too tall for page, with border])
1449 AT_KEYWORDS([render rendering])
1450 AT_CAPTURE_FILE([input])
1451 AT_DATA([input], [1 1
1452 @abc defg hij klmn opq rstu vwx yz ABCDE FGH I JK LMNOP QR STU VWXYZ
1454 AT_CHECK([render-test --width=7 --length=6 input], [0], [dnl
1484 AT_BANNER([output rendering -- double page breaks])
1486 AT_SETUP([double break 6x6, joined rows and columns])
1487 AT_KEYWORDS([render rendering])
1489 AT_CHECK([render-test --width=6 --length=6 input], [0], [dnl
1546 AT_SETUP([double break 8x8, with joins, left and right headers])
1547 AT_KEYWORDS([render rendering])
1548 RENDER_8X8([1 1 0 0])
1549 AT_CHECK([render-test input --width=14 --length=14], [0], [dnl
1592 AT_SETUP([double break 8x8, with joins, top and bottom headers])
1593 AT_KEYWORDS([render rendering])
1594 RENDER_8X8([0 0 1 1])
1595 AT_CHECK([render-test input --width=14 --length=14], [0], [dnl
1648 AT_SETUP([double break 8x8, with joins, all headers])
1649 AT_KEYWORDS([render rendering])
1650 RENDER_8X8([1 1 1 1])
1651 AT_CHECK([render-test input --width=14 --length=14], [0], [dnl
1704 AT_SETUP([double break joined cells too big for page])
1705 AT_KEYWORDS([render rendering])
1706 AT_DATA([input], [7 7
1715 6*6 @The MISSING subcommand determines the handling of missing variables. If INCLUDE is set, then user‑missing values are included in the calculations. If NOINCLUDE is set, which is the default, user‑missing values are excluded.
1722 AT_CHECK([render-test --width=15 --length=15 input], [0], [dnl
1781 AT_BANNER([output rendering -- problematic procedures])
1783 dnl LIST used to put columns right up next to each other without any
1784 dnl intervening space, so this checks for regression.
1785 AT_SETUP([LIST puts space between columns])
1786 AT_KEYWORDS([render rendering])
1787 AT_DATA([list.sps], [dnl
1788 DATA LIST LIST NOTABLE /x y z (F1.0).
1796 AT_CHECK([pspp list.sps], [0], [dnl
1806 # Long string variables tend to end in lots of spaces. The ASCII
1807 # driver didn't handle this very well: it would essentially produce
1808 # one blank line in a cell for each trailing space. This test
1809 # checks for regression. See bug #38672.
1810 AT_SETUP([ASCII driver renders end of line spaces reasonably])
1811 AT_KEYWORDS([render rendering])
1812 AT_DATA([input], [dnl
1824 AT_CHECK([render-test --width=15 --length=15 input], [0], [dnl