3 AT_SETUP([DATA LIST LIST with empty fields])
4 AT_DATA([data-list.pspp], [dnl
5 DATA LIST LIST NOTABLE /A B C (F1.0).
19 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
34 AT_SETUP([DATA LIST LIST with explicit delimiters])
35 AT_DATA([data-list.pspp], [dnl
36 data list list ('|','X') /A B C D.
45 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
46 Table: Reading free-form data from INLINE.
53 data-list.pspp:3.9-3.13: warning: Data for variable D is not valid as format F: Number followed by garbage.
57 1.00,23.00,45.00,. @&t@
58 2.00,22.00,34.00,23.00
59 3.00,34.00,34.00,34.00
63 AT_SETUP([DATA LIST FREE with SKIP])
64 AT_DATA([data-list.pspp], [dnl
65 data list free skip=1/A B C D.
67 # This record is ignored.
83 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
84 data-list.pspp:4.6: warning: Data for variable D is not valid as format F: Field contents are not numeric.
97 AT_SETUP([DATA LIST LIST with SKIP and tab delimiter])
98 AT_DATA([data-list.pspp], [dnl
99 data list list (tab) notable skip=2/A B C D.
122 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
126 1.00,2.00,3.00,. @&t@
144 dnl Results of this test were confirmed with SPSS 21:
145 dnl http://lists.gnu.org/archive/html/pspp-dev/2013-09/msg00003.html
146 AT_SETUP([DATA LIST FREE with explicit delimiter at end of line])
147 AT_DATA([data-list.pspp], [dnl
148 DATA LIST FREE(',')/x y z.
156 DATA LIST FREE(',')/x y z.
164 DATA LIST FREE(TAB)/x y z.
172 DATA LIST FREE(TAB)/x y z.
180 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
207 AT_SETUP([DATA LIST FIXED with multiple records per case])
208 AT_DATA([data-list.pspp], [dnl
209 data list fixed notable
210 /1 start 1-20 (adate)
226 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
227 data-list.pspp:8.1-8.3: warning: Data for variable count is not valid as format F: Field contents are not numeric.
229 data-list.pspp:11.1-11.3: warning: Data for variable count is not valid as format F: Field contents are not numeric.
233 07/22/2007,10/06/2007,.
234 07/14/1789,08/26/1789,.
235 01/01/1972,12/31/1999,682
239 AT_SETUP([DATA LIST FIXED with empty trailing record])
240 AT_DATA([data-list.pspp], [dnl
241 data list fixed notable records=2/x 1 y 2.
256 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
267 dnl Test that PSPP accepts LF and CR LF as line ends, but
268 dnl treats isolated CR as linear whitespace.
269 AT_SETUP([DATA LIST with various line-ends])
270 AT_DATA([data-list.sps], [dnl
271 data list list notable file='input.txt'/a b c.
274 printf '1 2 3\n4 5 6\r\n7\r8\r9\r\n10 11 12\n13 14 15 \r\n16\r\r17\r18\n' > input.txt
275 dnl Make sure that input.txt actually received the data that we expect.
276 dnl It might not have, if we're running on a system that translates \n
277 dnl into some other sequence.
278 AT_CHECK([cksum input.txt], [0], [1732021750 50 input.txt
280 AT_CHECK([pspp -o pspp.csv data-list.sps])
281 AT_CHECK([cat pspp.csv], [0], [dnl
293 AT_SETUP([DATA LIST properly expands tabs in input])
294 AT_DATA([data-list.sps], [dnl
295 data list notable /X 1-50 (a).
297 1 12 123 1234 12345 .
300 print outfile='print.txt' /x.
301 write outfile='write.txt' /x.
304 AT_CHECK([sed -n '/12345/l' data-list.sps], [0], [dnl
305 \t1\t12\t123\t1234\t12345 .$
307 AT_CHECK([pspp -o pspp.csv data-list.sps])
308 dnl The CSV driver drops leading spaces so they don't appear here:
309 AT_CHECK([cat pspp.csv], [0], [dnl
310 1 12 123 1234 12345 . @&t@
312 dnl But they do appear in print.txt. The PRINT command also puts a space
313 dnl at the beginning of the line and after the variable:
314 AT_CHECK([cat print.txt], [0], [dnl
315 1 12 123 1234 12345 . @&t@
317 dnl WRITE doesn't add spaces at the beginning or end of lines:
318 AT_CHECK([cat write.txt], [0], [dnl
319 1 12 123 1234 12345 .
323 AT_SETUP([DATA LIST FREE and LIST report missing delimiters])
324 AT_DATA([data-list.sps], [dnl
325 DATA LIST FREE NOTABLE/s (a10).
331 AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl
332 data-list.sps:4: warning: Missing delimiter following quoted string.
341 AT_SETUP([DATA LIST FREE and LIST assume a width if omitted])
342 AT_DATA([data-list.sps], [dnl
343 DATA LIST FREE TABLE/s (a) d (datetime) f (f).
345 AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl
346 Table: Reading free-form data from INLINE.