+-+--+--+---+
|h| The
| | su
-| | determ
-+-+ han
-|i|missing va
-| | If IN
-| | s
-+-+ user
++-+ determ
+|i| han
+| |missing va
+| |If INCLUDE
++-+ then user
|j| va
| | include
| | calculati
+-+ NOINCLUDE
|k| whic
| |
-+-+ user
-|l| va
-| | e
+| | user
++-+ va
+|l| e
+| |
| |
+-+
|m|
| |
-| |
+-+----------
+--+--+--+
mines the|
ndling of|
ariables.|
-NCLUDE is|
-set, then|
+E is set,|
r‑missing|
alues are|
ed in the|
LIST.
])
AT_CHECK([pspp list.sps], [0], [dnl
-DATA LIST
-
-BEGIN DATA
-
-LIST
-
Data List
x y z
-----
7 8 9
])
AT_CLEANUP
+
+# Long string variables tend to end in lots of spaces. The ASCII
+# driver didn't handle this very well: it would essentially produce
+# one blank line in a cell for each trailing space. This test
+# checks for regression. See bug #38672.
+AT_SETUP([ASCII driver renders end of line spaces reasonably])
+AT_KEYWORDS([render rendering])
+AT_DATA([input], [dnl
+3 3
+@a
+@b
+@xyzzy @&t@
+@d
+@e
+@f
+@g
+@h
+@i
+])
+AT_CHECK([render-test --width=15 --length=15 input], [0], [dnl
++-+-+-----+
+|a|b|xyzzy|
++-+-+-----+
+|d|e| f|
++-+-+-----+
+|g|h| i|
++-+-+-----+
+])
+AT_CLEANUP
+
+# There was a bug that, when multiple cells spanned a single column
+# (or row), only the dimensions of the cell nearest the bottom of the
+# table were actually considered. This checks for regression. (This
+# problem was most easily observed with SYSFILE INFO, which uses lots
+# of spanned cells).
+#
+# Without the fix, the output looks like this:
+# +-------+
+# | A long|
+# | text|
+# |string.|
+# +-------+
+# |shorter|
+AT_SETUP([multiple spanned cells all contribute to dimensions])
+AT_KEYWORDS([render rendering])
+AT_DATA([input], [dnl
+2 2
+1*2 @A long text string.
+1*2 @shorter
+])
+AT_CHECK([render-test --width=30 --length=15 input], [0], [dnl
++-------------------+
+|A long text string.|
++-------------------+
+| shorter|
++-------------------+
+])
+AT_CLEANUP