14 m4_define([WEAVE_6X6],
59 m4_define([WEAVE_8X8],
113 # This input is something of a counterexample, in that it could render
114 # compactly as this if the algorithm for choosing cell widths and
115 # heights were smarter:
134 m4_define([WEAVE_8X8_2],
154 2*3 @MNOPQ\nRSTUV\nWXYZ0
159 AT_BANNER([output rendering -- no page breaking])
161 AT_SETUP([single cell])
162 AT_KEYWORDS([render rendering])
163 AT_DATA([input], [1 1
166 AT_CHECK([render-test input], [0], [abc
170 AT_SETUP([nested single cell])
171 AT_KEYWORDS([render rendering])
172 AT_DATA([input], [1 1
177 AT_CHECK([render-test input], [0], [abc
181 AT_SETUP([single cell with border])
182 AT_KEYWORDS([render rendering])
183 AT_DATA([input], [1 1
186 AT_CHECK([render-test input], [0], [dnl
193 AT_SETUP([nested single cell with border])
194 AT_KEYWORDS([render rendering])
195 AT_DATA([input], [1 1
200 AT_CHECK([render-test input], [0], [dnl
209 AT_SETUP([joined columns])
210 AT_KEYWORDS([render rendering])
211 AT_DATA([input], [2 2
216 AT_CHECK([render-test input], [0], [dnl
225 AT_SETUP([3x3, joined rows and columns])
226 AT_KEYWORDS([render rendering])
227 AT_DATA([input], [3 3
234 AT_CHECK([render-test input], [0], [dnl
245 AT_SETUP([6x6, joined rows and columns])
246 AT_KEYWORDS([render rendering])
247 AT_DATA([input], [WEAVE_6X6])
248 AT_CHECK([render-test input], [0], [dnl
265 AT_SETUP([3 rows with many joined cells])
266 AT_KEYWORDS([render rendering])
267 AT_CAPTURE_FILE([input])
268 AT_DATA([input], [3 19
269 m4_foreach([x], [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s], [x
271 m4_for([x], [2], [19], [1], [1*2 @x
274 AT_CHECK([render-test input], [0], [dnl
275 a b c d e f g h i j k l m n o p q r s
276 +-+---+---+---+---+---+---+---+---+----+
277 |1| 2| 3| 4| 5| 6| 7| 8| 9| 10|
278 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+
279 | 11| 12| 13| 14| 15| 16| 17| 18| 19|20|
280 +---+---+---+---+---+---+---+---+---+--+
284 AT_SETUP([3 columns with many joined cells])
285 AT_KEYWORDS([render rendering])
286 AT_CAPTURE_FILE([input])
287 AT_DATA([input], [3 19
288 m4_foreach([x], [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s], [x
290 m4_for([x], [2], [19], [1], [1*2 @x\nab\ncd
293 AT_CHECK([render-test --transpose input], [0], [dnl
336 AT_SETUP([joined rows])
337 AT_KEYWORDS([render rendering])
338 AT_DATA([input], [2 2
343 AT_CHECK([render-test input], [0], [dnl
352 AT_SETUP([nested joined rows])
353 AT_KEYWORDS([render rendering])
354 AT_DATA([input], [2 2
361 AT_CHECK([render-test input], [0], [dnl
372 dnl This checks for bug #31346, a segmentation fault that surfaced
373 dnl when two or more rows had no unspanned cells and no rules.
374 AT_SETUP([joined rows only, no rules])
375 AT_KEYWORDS([render rendering])
376 AT_DATA([input], [2 2
380 AT_CHECK([render-test input], [0], [dnl
387 AT_SETUP([joined columns only, no rules])
388 AT_KEYWORDS([render rendering])
389 AT_DATA([input], [2 2
393 AT_CHECK([render-test input], [0], [dnl
402 AT_SETUP([5 big narrow cells])
403 AT_KEYWORDS([render rendering])
404 AT_DATA([input], [1 5
405 @This cell has a lot of text but its minimum width is pretty narrow.
406 @This cell also has a lot of text but its minimum width is pretty narrow.
407 @A third cell with a lot of text but a pretty narrow minimum width.
408 @A fourth cell with a lot of text but a pretty narrow minimum width.
409 @A fifth cell with a lot of text but a pretty narrow minimum width.
411 AT_CHECK([render-test input], [0], [dnl
412 +---------------+---------------+--------------+---------------+--------------+
413 |This cell has a| This cell also| A third cell| A fourth cell| A fifth cell|
414 |lot of text but| has a lot of| with a lot of| with a lot of| with a lot of|
415 | its minimum| text but its| text but a| text but a| text but a|
416 |width is pretty| minimum width| pretty narrow| pretty narrow| pretty narrow|
417 | narrow.| is pretty|minimum width.| minimum width.|minimum width.|
419 +---------------+---------------+--------------+---------------+--------------+
423 AT_SETUP([9 big narrow cells])
424 AT_KEYWORDS([render rendering])
425 AT_DATA([input], [1 9
426 @This cell has a lot of text but its minimum width is pretty narrow.
427 @This cell also has a lot of text but its minimum width is pretty narrow.
428 @A third cell with a lot of text but a pretty narrow minimum width.
429 @A fourth cell with a lot of text but a pretty narrow minimum width.
430 @A fifth cell with a lot of text but a pretty narrow minimum width.
431 @A sixth cell with a lot of text but a pretty narrow minimum width.
432 @A seventh cell with a lot of text but a pretty narrow minimum width.
433 @A eighth cell with a lot of text but a pretty narrow minimum width.
434 @A ninth cell with a lot of text but a pretty narrow minimum width.
436 AT_CHECK([render-test input], [0], [dnl
437 +--------+-------+--------+--------+-------+--------+--------+-------+--------+
438 | This| This| A third|A fourth|A fifth| A sixth| A| A| A ninth|
439 |cell has| cell| cell| cell| cell| cell| seventh| eighth| cell|
440 |a lot of| also| with a| with a| with a| with a| cell| cell| with a|
441 |text but| has a| lot of| lot of| lot of| lot of| with a| with a| lot of|
442 | its| lot of|text but|text but| text|text but| lot of| lot of|text but|
443 | minimum| text|a pretty|a pretty| but a|a pretty|text but| text|a pretty|
444 |width is|but its| narrow| narrow| pretty| narrow|a pretty| but a| narrow|
445 | pretty|minimum| minimum| minimum| narrow| minimum| narrow| pretty| minimum|
446 | narrow.| width| width.| width.|minimum| width.| minimum| narrow| width.|
447 | | is| | | width.| | width.|minimum| |
448 | | pretty| | | | | | width.| |
449 | |narrow.| | | | | | | |
450 +--------+-------+--------+--------+-------+--------+--------+-------+--------+
454 AT_SETUP([2 big cells with new-lines])
455 AT_KEYWORDS([render rendering])
456 AT_DATA([input], [1 2
457 @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.
458 @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.
460 AT_CHECK([render-test input], [0], [dnl
461 +----------------------------------------------------------+------------------+
462 | PSPP does not place many restrictions on ordering of| PSPP includes|
463 | commands. The main restriction is that variables must be| special support|
464 | defined before they are otherwise referenced. This| for unknown|
465 | section describes the details of command ordering, but| numeric data|
466 | most users will have no need to refer to them. PSPP| values.|
467 | possesses five internal states, called initial, INPUT| Missing|
468 | PROGRAM, FILE TYPE, transformation, and procedure states.| observations are|
470 | | a special value,|
472 | | ``system‑missing|
474 | |``value'' actually|
480 | | value is unknown.|
481 +----------------------------------------------------------+------------------+
485 AT_SETUP([8x8 with many 2x2 joins])
486 AT_KEYWORDS([render rendering])
487 AT_DATA([input], [WEAVE_8X8_2])
488 AT_CHECK([render-test input], [0],[dnl
514 AT_SETUP([nested 8x8])
515 AT_KEYWORDS([render rendering])
516 AT_DATA([input], [WEAVE_8X8[]dnl
520 AT_CHECK([render-test input], [0], [dnl
543 AT_SETUP([nested 8x8s and 6x6s])
544 AT_KEYWORDS([render rendering])
545 AT_DATA([input], [WEAVE_8X8[]WEAVE_6X6[]dnl
556 AT_CHECK([render-test input], [0], [dnl
557 +-----------------+-----------------+
558 |+-+-+-+-+-+-+-+-+| +-+---+-+-+-+|
559 ||a|b|c|d|e|f|g|h|| |a|bcd|e|f|i||
560 |+-+-+-+-+-+-+-+-+| +-+-+-+-+g+-+|
561 ||i|jkl|m|nop|q|t|| |j|m|nop|h|q||
562 |+-+-+-+-+-+-+r+-+| |k+-+-+-+-+r||
563 ||u|v|wxy|z|A|s|D|| |l|t|w|xyz|s||
564 |+-+-+-+-+-+B+-+-+| +-+u+-+-+-+-+|
565 ||E|F|I|JKL|C|M|P|| |A|v|B|E|FGH||
566 |+-+G+-+---+-+N+-+| +-+-+C+-+-+-+|
567 ||Q|H|R|UVW|X|O|Y|| |IJK|D|L|O|P||
568 |+-+-+S+-+-+-+-+-+| +-+-+-+M+-+-+|
569 ||Z|0|T|3|456|7|8|| |Q|RST|N|U|V||
570 |+-+1+-+-+-+-+-+-+| +-+---+-+-+-+|
571 ||9|2|abc|d|efg|h|| |
572 |+-+-+-+-+-+-+-+-+| |
573 ||i|j|k|l|m|n|o|p|| |
574 |+-+-+-+-+-+-+-+-+| |
575 +-----------------+-----------------+
576 | +-+---+-+-+-+| +-+---+-+-+-+ |
577 | |a|bcd|e|f|i|| |a|bcd|e|f|i| |
578 | +-+-+-+-+g+-+| +-+-+-+-+g+-+ |
579 | |j|m|nop|h|q|| |j|m|nop|h|q| |
580 | |k+-+-+-+-+r|| |k+-+-+-+-+r| |
581 | |l|t|w|xyz|s|| |l|t|w|xyz|s| |
582 | +-+u+-+-+-+-+| +-+u+-+-+-+-+ |
583 | |A|v|B|E|FGH|| |A|v|B|E|FGH| |
584 | +-+-+C+-+-+-+| +-+-+C+-+-+-+ |
585 | |IJK|D|L|O|P|| |IJK|D|L|O|P| |
586 | +-+-+-+M+-+-+| +-+-+-+M+-+-+ |
587 | |Q|RST|N|U|V|| |Q|RST|N|U|V| |
588 | +-+---+-+-+-+| +-+---+-+-+-+ |
589 +-----------------+-----------------+
590 | +-+---+-+-+-+ |+-+---+-+-+-+ |
591 | |a|bcd|e|f|i| ||a|bcd|e|f|i| |
592 | +-+-+-+-+g+-+ |+-+-+-+-+g+-+ |
593 | |j|m|nop|h|q| ||j|m|nop|h|q| |
594 | |k+-+-+-+-+r| ||k+-+-+-+-+r| |
595 | |l|t|w|xyz|s| ||l|t|w|xyz|s| |
596 | +-+u+-+-+-+-+ |+-+u+-+-+-+-+ |
597 | |A|v|B|E|FGH| ||A|v|B|E|FGH| |
598 | +-+-+C+-+-+-+ |+-+-+C+-+-+-+ |
599 | |IJK|D|L|O|P| ||IJK|D|L|O|P| |
600 | +-+-+-+M+-+-+ |+-+-+-+M+-+-+ |
601 | |Q|RST|N|U|V| ||Q|RST|N|U|V| |
602 | +-+---+-+-+-+ |+-+---+-+-+-+ |
603 +-----------------+-----------------+
604 |+-+---+-+-+-+ |+-+-+-+-+-+-+-+-+|
605 ||a|bcd|e|f|i| ||a|b|c|d|e|f|g|h||
606 |+-+-+-+-+g+-+ |+-+-+-+-+-+-+-+-+|
607 ||j|m|nop|h|q| ||i|jkl|m|nop|q|t||
608 ||k+-+-+-+-+r| |+-+-+-+-+-+-+r+-+|
609 ||l|t|w|xyz|s| ||u|v|wxy|z|A|s|D||
610 |+-+u+-+-+-+-+ |+-+-+-+-+-+B+-+-+|
611 ||A|v|B|E|FGH| ||E|F|I|JKL|C|M|P||
612 |+-+-+C+-+-+-+ |+-+G+-+---+-+N+-+|
613 ||IJK|D|L|O|P| ||Q|H|R|UVW|X|O|Y||
614 |+-+-+-+M+-+-+ |+-+-+S+-+-+-+-+-+|
615 ||Q|RST|N|U|V| ||Z|0|T|3|456|7|8||
616 |+-+---+-+-+-+ |+-+1+-+-+-+-+-+-+|
617 | ||9|2|abc|d|efg|h||
618 | |+-+-+-+-+-+-+-+-+|
619 | ||i|j|k|l|m|n|o|p||
620 | |+-+-+-+-+-+-+-+-+|
621 +-----------------+-----------------+
625 AT_SETUP([doubly nested cells])
626 AT_KEYWORDS([render rendering])
627 AT_DATA([input], [WEAVE_8X8[]WEAVE_6X6[]dnl
640 AT_CHECK([render-test input --length=70], [0], [dnl
641 +-------------------------------------+
642 |+-----------------+-----------------+|
643 ||+-+-+-+-+-+-+-+-+| +-+---+-+-+-+||
644 |||a|b|c|d|e|f|g|h|| |a|bcd|e|f|i|||
645 ||+-+-+-+-+-+-+-+-+| +-+-+-+-+g+-+||
646 |||i|jkl|m|nop|q|t|| |j|m|nop|h|q|||
647 ||+-+-+-+-+-+-+r+-+| |k+-+-+-+-+r|||
648 |||u|v|wxy|z|A|s|D|| |l|t|w|xyz|s|||
649 ||+-+-+-+-+-+B+-+-+| +-+u+-+-+-+-+||
650 |||E|F|I|JKL|C|M|P|| |A|v|B|E|FGH|||
651 ||+-+G+-+---+-+N+-+| +-+-+C+-+-+-+||
652 |||Q|H|R|UVW|X|O|Y|| |IJK|D|L|O|P|||
653 ||+-+-+S+-+-+-+-+-+| +-+-+-+M+-+-+||
654 |||Z|0|T|3|456|7|8|| |Q|RST|N|U|V|||
655 ||+-+1+-+-+-+-+-+-+| +-+---+-+-+-+||
656 |||9|2|abc|d|efg|h|| ||
657 ||+-+-+-+-+-+-+-+-+| ||
658 |||i|j|k|l|m|n|o|p|| ||
659 ||+-+-+-+-+-+-+-+-+| ||
660 |+-----------------+-----------------+|
661 || +-+---+-+-+-+| +-+---+-+-+-+ ||
662 || |a|bcd|e|f|i|| |a|bcd|e|f|i| ||
663 || +-+-+-+-+g+-+| +-+-+-+-+g+-+ ||
664 || |j|m|nop|h|q|| |j|m|nop|h|q| ||
665 || |k+-+-+-+-+r|| |k+-+-+-+-+r| ||
666 || |l|t|w|xyz|s|| |l|t|w|xyz|s| ||
667 || +-+u+-+-+-+-+| +-+u+-+-+-+-+ ||
668 || |A|v|B|E|FGH|| |A|v|B|E|FGH| ||
669 || +-+-+C+-+-+-+| +-+-+C+-+-+-+ ||
670 || |IJK|D|L|O|P|| |IJK|D|L|O|P| ||
671 || +-+-+-+M+-+-+| +-+-+-+M+-+-+ ||
672 || |Q|RST|N|U|V|| |Q|RST|N|U|V| ||
673 || +-+---+-+-+-+| +-+---+-+-+-+ ||
674 |+-----------------+-----------------+|
675 || +-+---+-+-+-+ |+-+---+-+-+-+ ||
676 || |a|bcd|e|f|i| ||a|bcd|e|f|i| ||
677 || +-+-+-+-+g+-+ |+-+-+-+-+g+-+ ||
678 || |j|m|nop|h|q| ||j|m|nop|h|q| ||
679 || |k+-+-+-+-+r| ||k+-+-+-+-+r| ||
680 || |l|t|w|xyz|s| ||l|t|w|xyz|s| ||
681 || +-+u+-+-+-+-+ |+-+u+-+-+-+-+ ||
682 || |A|v|B|E|FGH| ||A|v|B|E|FGH| ||
683 || +-+-+C+-+-+-+ |+-+-+C+-+-+-+ ||
684 || |IJK|D|L|O|P| ||IJK|D|L|O|P| ||
685 || +-+-+-+M+-+-+ |+-+-+-+M+-+-+ ||
686 || |Q|RST|N|U|V| ||Q|RST|N|U|V| ||
687 || +-+---+-+-+-+ |+-+---+-+-+-+ ||
688 |+-----------------+-----------------+|
689 ||+-+---+-+-+-+ |+-+-+-+-+-+-+-+-+||
690 |||a|bcd|e|f|i| ||a|b|c|d|e|f|g|h|||
691 ||+-+-+-+-+g+-+ |+-+-+-+-+-+-+-+-+||
692 |||j|m|nop|h|q| ||i|jkl|m|nop|q|t|||
693 |||k+-+-+-+-+r| |+-+-+-+-+-+-+r+-+||
694 |||l|t|w|xyz|s| ||u|v|wxy|z|A|s|D|||
695 ||+-+u+-+-+-+-+ |+-+-+-+-+-+B+-+-+||
696 |||A|v|B|E|FGH| ||E|F|I|JKL|C|M|P|||
697 ||+-+-+C+-+-+-+ |+-+G+-+---+-+N+-+||
698 |||IJK|D|L|O|P| ||Q|H|R|UVW|X|O|Y|||
699 ||+-+-+-+M+-+-+ |+-+-+S+-+-+-+-+-+||
700 |||Q|RST|N|U|V| ||Z|0|T|3|456|7|8|||
701 ||+-+---+-+-+-+ |+-+1+-+-+-+-+-+-+||
702 || ||9|2|abc|d|efg|h|||
703 || |+-+-+-+-+-+-+-+-+||
704 || ||i|j|k|l|m|n|o|p|||
705 || |+-+-+-+-+-+-+-+-+||
706 |+-----------------+-----------------+|
707 +-------------------------------------+
711 AT_BANNER([output rendering -- horizontal page breaks])
713 AT_SETUP([breaking row of many small cells])
714 AT_KEYWORDS([render rendering])
715 AT_CAPTURE_FILE([input])
716 AT_DATA([input], [1 50
717 m4_for([x], [1], [50], [1], [@x
719 AT_CHECK([render-test input], [0], [dnl
720 +-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
721 |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|
722 +-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
724 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
725 |30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|
726 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
728 AT_CHECK([render-test input -o mb0 --min-break=0], [0], [dnl
729 +-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
730 |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|
731 +-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
733 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
734 |30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|
735 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
739 AT_SETUP([breaking row of many small cells, with headers])
740 AT_KEYWORDS([render rendering])
741 AT_CAPTURE_FILE([input])
742 AT_DATA([input], [1 54 2 2
745 m4_for([x], [1], [50], [1], [@x
750 AT_CHECK([render-test input], [0], [dnl
751 +--+--+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
752 |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|
753 +--+--+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
755 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
756 |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|
757 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
759 +--+--+--+--+--+--+--+
760 |ha|hb|48|49|50|hc|hd|
761 +--+--+--+--+--+--+--+
763 AT_CHECK([render-test -o mb0 --min-break=0 input], [0], [dnl
764 +--+--+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
765 |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|
766 +--+--+-+-+-+-+-+-+-+-+-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
768 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
769 |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|
770 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
772 +--+--+--+--+--+--+--+
773 |ha|hb|48|49|50|hc|hd|
774 +--+--+--+--+--+--+--+
778 AT_SETUP([breaking row of many medium-size cells])
779 AT_KEYWORDS([render rendering])
780 AT_CAPTURE_FILE([input])
781 AT_DATA([input], [1 50
782 m4_for([x], [1], [50], [1], [@cell x
784 AT_CHECK([render-test input], [0], [dnl
785 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
786 |cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|
787 | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15|
788 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
790 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
791 |cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|
792 | 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 30|
793 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
795 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
796 |cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|
797 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 40| 41| 42| 43| 44| 45|
798 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
800 +----+----+----+----+----+
801 |cell|cell|cell|cell|cell|
802 | 46| 47| 48| 49| 50|
803 +----+----+----+----+----+
805 AT_CHECK([render-test -o mb0 --min-break=0 input], [0], [dnl
806 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+---
807 |cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cel
808 | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 1
809 +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+---
811 -+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+--
812 l|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|ce
813 6| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 30| 31|
814 -+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+--
816 --+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+-
817 ll|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|c
818 32| 33| 34| 35| 36| 37| 38| 39| 40| 41| 42| 43| 44| 45| 46| 47|
819 --+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+-
828 AT_SETUP([breaking row of many medium-size cells, with headers])
829 AT_KEYWORDS([render rendering])
830 AT_CAPTURE_FILE([input])
831 AT_DATA([input], [1 52 1 1
833 m4_for([x], [1], [50], [1], [@cell x
837 AT_CHECK([render-test input], [0], [dnl
838 +----+----+----+----+----+----+----+----+----+----+----+----+
839 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
840 | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12|
841 +----+----+----+----+----+----+----+----+----+----+----+----+
843 +----+----+----+----+----+----+----+----+----+----+----+----+
844 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
845 | 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24|
846 +----+----+----+----+----+----+----+----+----+----+----+----+
848 +----+----+----+----+----+----+----+----+----+----+----+----+
849 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
850 | 25| 26| 27| 28| 29| 30| 31| 32| 33| 34| 35| 36|
851 +----+----+----+----+----+----+----+----+----+----+----+----+
853 +----+----+----+----+----+----+----+----+----+----+----+----+
854 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
855 | 37| 38| 39| 40| 41| 42| 43| 44| 45| 46| 47| 48|
856 +----+----+----+----+----+----+----+----+----+----+----+----+
859 header1|cell|cell|header2
863 AT_CHECK([render-test -o mb0 --min-break=0 input], [0], [dnl
864 +----+----+----+----+----+----+----+----+----+----+----+----+--+
865 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|ce|header2
866 | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| |
867 +----+----+----+----+----+----+----+----+----+----+----+----+--+
869 +--+----+----+----+----+----+----+----+----+----+----+----+----+
870 header1|ll|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
871 |13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25|
872 +--+----+----+----+----+----+----+----+----+----+----+----+----+
874 +----+----+----+----+----+----+----+----+----+----+----+----+--+
875 header1|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|ce|header2
876 | 26| 27| 28| 29| 30| 31| 32| 33| 34| 35| 36| 37| |
877 +----+----+----+----+----+----+----+----+----+----+----+----+--+
879 +--+----+----+----+----+----+----+----+----+----+----+----+----+
880 header1|ll|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|cell|header2
881 |38| 39| 40| 41| 42| 43| 44| 45| 46| 47| 48| 49| 50|
882 +--+----+----+----+----+----+----+----+----+----+----+----+----+
886 AT_SETUP([breaking row of many big narrow cells])
887 AT_KEYWORDS([render rendering])
888 AT_CAPTURE_FILE([input])
889 AT_DATA([input], [1 50
890 m4_for([x], [1], [50], [1], [@This is cell x in a series of 50.
892 AT_CHECK([render-test input], [0], [dnl
893 +------+------+------+------+------+------+------+------+------+------+------+
894 | This| This| This| This| This| This| This| This| This| This| This|
895 | is| is| is| is| is| is| is| is| is| is| is|
896 |cell 1|cell 2|cell 3|cell 4|cell 5|cell 6|cell 7|cell 8|cell 9| cell| cell|
897 | in a| in a| in a| in a| in a| in a| in a| in a| in a| 10 in| 11 in|
898 |series|series|series|series|series|series|series|series|series| a| a|
899 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|series|series|
900 | | | | | | | | | |of 50.|of 50.|
901 +------+------+------+------+------+------+------+------+------+------+------+
903 +------+------+------+------+------+------+------+------+------+------+------+
904 | This| This| This| This| This| This| This| This| This| This| This|
905 | is| is| is| is| is| is| is| is| is| is| is|
906 | cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell|
907 | 12 in| 13 in| 14 in| 15 in| 16 in| 17 in| 18 in| 19 in| 20 in| 21 in| 22 in|
908 | a| a| a| a| a| a| a| a| a| a| a|
909 |series|series|series|series|series|series|series|series|series|series|series|
910 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
911 +------+------+------+------+------+------+------+------+------+------+------+
913 +------+------+------+------+------+------+------+------+------+------+------+
914 | This| This| This| This| This| This| This| This| This| This| This|
915 | is| is| is| is| is| is| is| is| is| is| is|
916 | cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell|
917 | 23 in| 24 in| 25 in| 26 in| 27 in| 28 in| 29 in| 30 in| 31 in| 32 in| 33 in|
918 | a| a| a| a| a| a| a| a| a| a| a|
919 |series|series|series|series|series|series|series|series|series|series|series|
920 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
921 +------+------+------+------+------+------+------+------+------+------+------+
923 +------+------+------+------+------+------+------+------+------+------+------+
924 | This| This| This| This| This| This| This| This| This| This| This|
925 | is| is| is| is| is| is| is| is| is| is| is|
926 | cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell|
927 | 34 in| 35 in| 36 in| 37 in| 38 in| 39 in| 40 in| 41 in| 42 in| 43 in| 44 in|
928 | a| a| a| a| a| a| a| a| a| a| a|
929 |series|series|series|series|series|series|series|series|series|series|series|
930 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
931 +------+------+------+------+------+------+------+------+------+------+------+
933 +------+------+------+------+------+------+
934 | This| This| This| This| This| This|
935 | is| is| is| is| is| is|
936 | cell| cell| cell| cell| cell| cell|
937 | 45 in| 46 in| 47 in| 48 in| 49 in| 50 in|
939 |series|series|series|series|series|series|
940 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
941 +------+------+------+------+------+------+
943 AT_CHECK([render-test -o mb0 --min-break=0 input], [0], [dnl
944 +------+------+------+------+------+------+------+------+------+------+------+-
945 | This| This| This| This| This| This| This| This| This| This| This|
946 | is| is| is| is| is| is| is| is| is| is| is|
947 |cell 1|cell 2|cell 3|cell 4|cell 5|cell 6|cell 7|cell 8|cell 9| cell| cell|
948 | in a| in a| in a| in a| in a| in a| in a| in a| in a| 10 in| 11 in|
949 |series|series|series|series|series|series|series|series|series| a| a|
950 |of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|series|series|s
951 | | | | | | | | | |of 50.|of 50.|o
952 +------+------+------+------+------+------+------+------+------+------+------+-
954 -----+------+------+------+------+------+------+------+------+------+------+---
955 This| This| This| This| This| This| This| This| This| This| This| T
956 is| is| is| is| is| is| is| is| is| is| is|
957 cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| c
958 12 in| 13 in| 14 in| 15 in| 16 in| 17 in| 18 in| 19 in| 20 in| 21 in| 22 in| 23
959 a| a| a| a| a| a| a| a| a| a| a|
960 eries|series|series|series|series|series|series|series|series|series|series|ser
961 f 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of
962 -----+------+------+------+------+------+------+------+------+------+------+---
964 ---+------+------+------+------+------+------+------+------+------+------+-----
965 his| This| This| This| This| This| This| This| This| This| This| Thi
966 is| is| is| is| is| is| is| is| is| is| is| i
967 ell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cel
968 in| 24 in| 25 in| 26 in| 27 in| 28 in| 29 in| 30 in| 31 in| 32 in| 33 in| 34 i
969 a| a| a| a| a| a| a| a| a| a| a|
970 ies|series|series|series|series|series|series|series|series|series|series|serie
971 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50
972 ---+------+------+------+------+------+------+------+------+------+------+-----
974 -+------+------+------+------+------+------+------+------+------+------+------+
975 s| This| This| This| This| This| This| This| This| This| This| This|
976 s| is| is| is| is| is| is| is| is| is| is| is|
977 l| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell| cell|
978 n| 35 in| 36 in| 37 in| 38 in| 39 in| 40 in| 41 in| 42 in| 43 in| 44 in| 45 in|
979 a| a| a| a| a| a| a| a| a| a| a| a|
980 s|series|series|series|series|series|series|series|series|series|series|series|
981 .|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|of 50.|
982 -+------+------+------+------+------+------+------+------+------+------+------+
984 +------+------+------+------+------+
985 | This| This| This| This| This|
986 | is| is| is| is| is|
987 | cell| cell| cell| cell| cell|
988 | 46 in| 47 in| 48 in| 49 in| 50 in|
990 |series|series|series|series|series|
991 |of 50.|of 50.|of 50.|of 50.|of 50.|
992 +------+------+------+------+------+
996 AT_SETUP([breaking 2 rows of many small cells])
997 AT_KEYWORDS([render rendering])
998 AT_CAPTURE_FILE([input])
999 AT_DATA([input], [2 50
1000 m4_for([x], [1], [100], [1], [@x
1002 AT_CHECK([render-test input], [0], [dnl
1003 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
1004 | 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|
1005 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
1006 |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|
1007 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
1009 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
1010 |27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49| 50|
1011 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
1012 |77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|
1013 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
1015 AT_CHECK([render-test -o mb0 --min-break=0 input], [0], [dnl
1016 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
1017 | 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|
1018 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
1019 |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|
1020 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
1022 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
1023 |27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49| 50|
1024 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
1025 |77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|
1026 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+
1030 AT_SETUP([breaking 3 rows with many joined cells])
1031 AT_KEYWORDS([render rendering])
1032 AT_CAPTURE_FILE([input])
1033 AT_DATA([input], [3 49
1034 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
1035 A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W], [var
1037 m4_for([x], [2], [49], [1], [1*2 @x
1040 AT_CHECK([render-test input], [0], [dnl
1041 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
1042 +-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1043 |1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20|
1044 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1045 | 26| 27| 28| 29| 30| 31| 32| 33| 34| 35| 36| 37| 38| 39| 40| 41| 42| 43| 44| 4
1046 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--
1049 +---+---+---+---+----+
1050 | 21| 22| 23| 24| 25|
1051 +-+-+-+-+-+-+-+-+-+--+
1052 45| 46| 47| 48| 49|50|
1053 --+---+---+---+---+--+
1055 AT_CHECK([render-test -o mb0 --min-break=0 input], [0], [dnl
1056 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
1057 +-+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1058 |1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20|
1059 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1060 | 26| 27| 28| 29| 30| 31| 32| 33| 34| 35| 36| 37| 38| 39| 40| 41| 42| 43| 44| 4
1061 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--
1064 +---+---+---+---+----+
1065 | 21| 22| 23| 24| 25|
1066 +-+-+-+-+-+-+-+-+-+--+
1067 45| 46| 47| 48| 49|50|
1068 --+---+---+---+---+--+
1072 AT_SETUP([horz break 6x6, joined rows and columns])
1073 AT_KEYWORDS([render rendering])
1074 AT_DATA([input], [WEAVE_6X6])
1075 AT_DATA([expout], [dnl
1118 AT_CHECK([render-test --width=6 input], [0], [expout])
1119 AT_CHECK([render-test -o mb0 --min-break=0 --width=6 input], [0], [expout])
1122 AT_SETUP([horz break 6x6, joined rows and columns, left header])
1123 AT_KEYWORDS([render rendering])
1124 AT_DATA([input], [WEAVE_6X6([1 0 0 0])])
1125 AT_DATA([expout], [dnl
1154 AT_CHECK([render-test --width=10 input], [0], [expout])
1155 AT_CHECK([render-test -o mb0 --min-break=0 --width=10 input], [0], [expout])
1158 AT_SETUP([horz break 6x6, joined rows and columns, right header])
1159 AT_KEYWORDS([render rendering])
1160 AT_DATA([input], [WEAVE_6X6([0 1 0 0])])
1161 AT_DATA([expout], [dnl
1190 AT_CHECK([render-test --width=10 input], [0], [expout])
1191 AT_CHECK([render-test -o mb0 --min-break=0 --width=10 input], [0], [expout])
1194 AT_SETUP([breaking joined cells too wide for page])
1195 AT_KEYWORDS([render rendering])
1196 AT_DATA([input], [4 6
1197 1*6 @abc def ghi jkl
1210 AT_CHECK([render-test --width=10 input], [0], [dnl
1235 AT_CHECK([render-test -o mb0 --min-break=0 --width=10 input], [0], [dnl
1262 AT_SETUP([breaking joined cells much too wide for page])
1263 AT_KEYWORDS([render rendering])
1264 AT_DATA([input], [4 6
1265 1*6 @abc def ghi jkl
1278 AT_CHECK([render-test --width=6 input], [0], [dnl
1315 AT_CHECK([render-test -o mb0 --min-break=0 --width=6 input], [0], [dnl
1354 AT_SETUP([breaking cell too wide for page, no border])
1355 AT_KEYWORDS([render rendering])
1356 AT_CAPTURE_FILE([input])
1357 AT_DATA([input], [1 1
1358 abcdefghijklmnopqrstuvwxyz
1360 AT_CHECK([render-test --width=6 input], [0], [dnl
1371 AT_CHECK([render-test -o mb0 --min-break=0 --width=6 input], [0], [dnl
1384 AT_SETUP([breaking cell too wide for page, with border])
1385 AT_KEYWORDS([render rendering])
1386 AT_CAPTURE_FILE([input])
1387 AT_DATA([input], [1 1
1388 @abcdefghijklmnopqrstuvwxyz
1390 AT_DATA([expout], [dnl
1411 AT_CHECK([render-test --width=6 input], [0], [expout])
1412 AT_CHECK([render-test -o mb0 --min-break=0 --width=6 input], [0], [expout])
1415 AT_SETUP([horz break 8x8 with many 2x2 joins])
1416 AT_KEYWORDS([render rendering])
1417 AT_DATA([input], [WEAVE_8X8_2])
1418 AT_CHECK([render-test --width=8 input], [0],[dnl
1490 AT_CHECK([render-test -o mb0 --min-break=0 --width=8 input], [0],[dnl
1563 AT_BANNER([output rendering -- vertical page breaks])
1565 AT_SETUP([breaking column of many small cells])
1566 AT_KEYWORDS([render rendering])
1567 AT_CAPTURE_FILE([input])
1568 AT_DATA([input], [20 1
1569 m4_for([x], [1], [20], [1], [@x
1571 AT_CHECK([render-test --length=10 input], [0], [dnl
1622 AT_CHECK([render-test -o mb0 --min-break=0 --length=10 input], [0], [dnl
1675 AT_SETUP([breaking column of many small cells, with headers])
1676 AT_KEYWORDS([render rendering])
1677 AT_CAPTURE_FILE([input])
1678 AT_DATA([input], [17 1 0 0 1 1
1680 m4_for([x], [1], [15], [1], [@x
1683 AT_CHECK([render-test --length=13 input], [0], [dnl
1738 AT_CHECK([render-test -o mb0 --min-break=0 --length=13 input], [0], [dnl
1795 AT_SETUP([disabling too-big headers])
1796 AT_KEYWORDS([render rendering])
1797 AT_CAPTURE_FILE([input])
1798 AT_DATA([input], [17 1 0 0 1 1
1800 m4_for([x], [1], [15], [1], [@x
1803 AT_DATA([expout], [dnl
1848 AT_CHECK([render-test --length=10 input], [0], [expout])
1849 AT_CHECK([render-test -o mb0 --min-break=0 --length=10 input], [0], [expout])
1852 AT_SETUP([breaking column of many medium-size cells])
1853 AT_KEYWORDS([render rendering])
1854 AT_CAPTURE_FILE([input])
1855 AT_DATA([input], [20 1
1856 m4_for([x], [1], [20], [1], [@top x\ncell x\nbottom x
1858 AT_CHECK([render-test --length 10 input], [0], [dnl
1959 AT_CHECK([render-test -o mb0 --min-break=0 --length 10 input], [0], [dnl
2054 AT_SETUP([breaking 3 columns with many joined cells])
2055 AT_KEYWORDS([render rendering])
2056 AT_CAPTURE_FILE([input])
2096 AT_DATA([input], [3 19
2097 m4_foreach([x], [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s], [x
2099 m4_for([x], [2], [19], [1], [1*2 @x\nab\ncd
2102 AT_DATA([expout], [dnl
2161 AT_CHECK([render-test --length=6 --transpose input], [0], [expout])
2162 AT_CHECK([render-test -o mb0 --min-break=0 --length=6 --transpose input],
2166 AT_SETUP([vert break 6x6, joined rows and columns])
2167 AT_KEYWORDS([render rendering])
2168 AT_DATA([input], [WEAVE_6X6])
2169 AT_CHECK([render-test --length=6 input], [0], [dnl
2188 AT_CHECK([render-test -o mb0 --min-break=0 --length=6 input], [0], [dnl
2209 AT_SETUP([breaking joined cells too tall for page])
2210 AT_KEYWORDS([render rendering])
2211 AT_DATA([input], [4 6
2212 1*6 @abc\ndef\nghi\njkl\nmno\npqr\nstu\nvwx\nyzA\nBCD\nEFG
2213 1*3 @HIJ\nKLM\nOPQ\nRST\nUVW
2214 1*3 @XYZ\n012\n345\n678\n90a
2225 AT_CHECK([render-test --transpose --length=6 input], [0], [dnl
2244 AT_CHECK([render-test -o mb0 --min-break=0 --transpose --length=6 input], [0], [dnl
2265 AT_SETUP([breaking cell too tall for page, no border])
2266 AT_KEYWORDS([render rendering])
2267 AT_CAPTURE_FILE([input])
2268 AT_DATA([input], [1 1
2269 abc defg hij klmn opq rstu vwx yz ABCDE FGH I JK LMNOP QR STU VWXYZ
2271 AT_CHECK([render-test --width=6 --length=6 input], [0], [dnl
2288 AT_CHECK([render-test -o mb0 --min-break=0 --width=6 --length=6 input], [0], [dnl
2307 AT_SETUP([breaking cell too tall for page, with border])
2308 AT_KEYWORDS([render rendering])
2309 AT_CAPTURE_FILE([input])
2310 AT_DATA([input], [1 1
2311 @abc defg hij klmn opq rstu vwx yz ABCDE FGH I JK LMNOP QR STU VWXYZ
2313 AT_DATA([expout], [dnl
2334 AT_CHECK([render-test --width=7 --length=6 input], [0], [expout])
2335 AT_CHECK([render-test -o mb0 --min-break=0 --width=7 --length=6 input],
2339 AT_SETUP([breaking nested cell too tall for page])
2340 AT_KEYWORDS([render rendering])
2341 AT_CAPTURE_FILE([input])
2342 AT_DATA([input], [WEAVE_8X8[]WEAVE_6X6[]dnl
2347 AT_CHECK([render-test input --length=10], [0], [dnl
2348 +-----------------+-------------+
2349 |+-+-+-+-+-+-+-+-+|+-+---+-+-+-+|
2350 ||a|b|c|d|e|f|g|h|||a|bcd|e|f|i||
2351 |+-+-+-+-+-+-+-+-+|+-+-+-+-+g+-+|
2352 ||i|jkl|m|nop|q|t|||j|m|nop|h|q||
2353 |+-+-+-+-+-+-+r+-+||k+-+-+-+-+r||
2354 ||u|v|wxy|z|A|s|D|||l|t|w|xyz|s||
2355 |+-+-+-+-+-+B+-+-+|+-+u+-+-+-+-+|
2356 ||E|F|I|JKL|C|M|P|||A|v|B|E|FGH||
2357 |+-+G+-+---+-+N+-+|+-+-+C+-+-+-+|
2359 ||Q|H|R|UVW|X|O|Y|||IJK|D|L|O|P||
2360 |+-+-+S+-+-+-+-+-+|+-+-+-+M+-+-+|
2361 ||Z|0|T|3|456|7|8|||Q|RST|N|U|V||
2362 |+-+1+-+-+-+-+-+-+|+-+---+-+-+-+|
2363 ||9|2|abc|d|efg|h|| |
2364 |+-+-+-+-+-+-+-+-+| |
2365 ||i|j|k|l|m|n|o|p|| |
2366 |+-+-+-+-+-+-+-+-+| |
2367 +-----------------+-------------+
2371 AT_BANNER([output rendering -- double page breaks])
2373 AT_SETUP([double break 6x6, joined rows and columns])
2374 AT_KEYWORDS([render rendering])
2375 AT_DATA([input], [WEAVE_6X6])
2376 AT_CHECK([render-test --width=6 --length=6 input], [0], [dnl
2431 AT_CHECK([render-test -o mb0 --min-break=0 --width=6 --length=6 input], [0], [dnl
2488 AT_SETUP([double break 8x8, with joins, left and right headers])
2489 AT_KEYWORDS([render rendering])
2490 AT_DATA([input], [WEAVE_8X8([1 1 0 0])])
2491 AT_CHECK([render-test input --width=14 --length=14], [0], [dnl
2532 AT_CHECK([render-test -o mb0 --min-break=0 input --width=14 --length=14], [0], [dnl
2575 AT_SETUP([double break 8x8, with joins, top and bottom headers])
2576 AT_KEYWORDS([render rendering])
2577 AT_DATA([input], [WEAVE_8X8([0 0 1 1])])
2578 AT_CHECK([render-test input --width=14 --length=14], [0], [dnl
2629 AT_CHECK([render-test -o mb0 --min-break=0 input --width=14 --length=14], [0], [dnl
2682 AT_SETUP([double break 8x8, with joins, all headers])
2683 AT_KEYWORDS([render rendering])
2684 AT_DATA([input], [WEAVE_8X8([1 1 1 1])])
2685 AT_CHECK([render-test input --width=14 --length=14], [0], [dnl
2736 AT_CHECK([render-test -o mb0 --min-break=0 input --width=14 --length=14], [0], [dnl
2789 AT_SETUP([double break joined cells too big for page])
2790 AT_KEYWORDS([render rendering])
2791 AT_DATA([input], [7 7
2800 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.
2807 AT_CHECK([render-test --width=15 --length=15 input], [0], [dnl
2864 AT_CHECK([render-test -o mb0 --min-break=0 --width=15 --length=15 input], [0], [dnl
2922 AT_BANNER([output rendering -- problematic procedures])
2924 dnl LIST used to put columns right up next to each other without any
2925 dnl intervening space, so this checks for regression.
2926 AT_SETUP([LIST puts space between columns])
2927 AT_KEYWORDS([render rendering])
2928 AT_DATA([list.sps], [dnl
2929 DATA LIST LIST NOTABLE /x y z (F1.0).
2937 AT_CHECK([pspp list.sps], [0], [dnl
2947 # Long string variables tend to end in lots of spaces. The ASCII
2948 # driver didn't handle this very well: it would essentially produce
2949 # one blank line in a cell for each trailing space. This test
2950 # checks for regression. See bug #38672.
2951 AT_SETUP([ASCII driver renders end of line spaces reasonably])
2952 AT_KEYWORDS([render rendering])
2953 AT_DATA([input], [dnl
2965 AT_CHECK([render-test --width=15 --length=15 input], [0], [dnl
2976 # There was a bug that, when multiple cells spanned a single column
2977 # (or row), only the dimensions of the cell nearest the bottom of the
2978 # table were actually considered. This checks for regression. (This
2979 # problem was most easily observed with SYSFILE INFO, which uses lots
2980 # of spanned cells).
2982 # Without the fix, the output looks like this:
2989 AT_SETUP([multiple spanned cells all contribute to dimensions])
2990 AT_KEYWORDS([render rendering])
2991 AT_DATA([input], [dnl
2993 1*2 @A long text string.
2996 AT_CHECK([render-test --width=30 --length=15 input], [0], [dnl
2997 +-------------------+
2998 |A long text string.|
2999 +-------------------+
3001 +-------------------+