X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Fdata-list.at;h=b70e3904f516880dc8e97d33bf21c2a91982d0bb;hb=e2da62d735c597afeef2e0e9b36e5a4a83d7da94;hp=64a918df9e3d6688f86ad25aec9c806055319f55;hpb=889ab43a7bce4a4dc6e76e1ed1216deaa6770498;p=pspp diff --git a/tests/language/data-io/data-list.at b/tests/language/data-io/data-list.at index 64a918df9e..b70e3904f5 100644 --- a/tests/language/data-io/data-list.at +++ b/tests/language/data-io/data-list.at @@ -30,6 +30,7 @@ A,B,C ]) AT_CLEANUP + AT_SETUP([DATA LIST LIST with explicit delimiters]) AT_DATA([data-list.pspp], [dnl data list list ('|','X') /A B C D. @@ -49,7 +50,7 @@ B,F8.0 C,F8.0 D,F8.0 -data-list.pspp:3.9-13: warning: Data for variable D is not valid as format F: Number followed by garbage. +data-list.pspp:3.9-3.13: warning: Data for variable D is not valid as format F: Number followed by garbage. Table: Data List A,B,C,D @@ -95,7 +96,7 @@ AT_CLEANUP AT_SETUP([DATA LIST LIST with SKIP and tab delimiter]) AT_DATA([data-list.pspp], [dnl -data list free (tab) skip=2/A B C D. +data list list (tab) notable skip=2/A B C D. begin data. # These records # are skipped. @@ -140,6 +141,69 @@ A,B,C,D ]) AT_CLEANUP +dnl Results of this test were confirmed with SPSS 21: +dnl http://lists.gnu.org/archive/html/pspp-dev/2013-09/msg00003.html +AT_SETUP([DATA LIST FREE with explicit delimiter at end of line]) +AT_DATA([data-list.pspp], [dnl +DATA LIST FREE(',')/x y z. +BEGIN DATA. +1,2,3 +4,5,6 +7,8,9 +END DATA. +LIST. + +DATA LIST FREE(',')/x y z. +BEGIN DATA. +11,12,13, +14,15,16, +17,18,19, +END DATA. +LIST. + +DATA LIST FREE(TAB)/x y z. +BEGIN DATA. +21 22 23 +24 25 26 +27 28 29 +END DATA. +LIST. + +DATA LIST FREE(TAB)/x y z. +BEGIN DATA. +31 32 33 @&t@ +34 35 36 @&t@ +37 38 39 @&t@ +END DATA. +LIST. +]) +AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl +Table: Data List +x,y,z +1.00,2.00,3.00 +4.00,5.00,6.00 +7.00,8.00,9.00 + +Table: Data List +x,y,z +11.00,12.00,13.00 +14.00,15.00,16.00 +17.00,18.00,19.00 + +Table: Data List +x,y,z +21.00,22.00,23.00 +24.00,25.00,26.00 +27.00,28.00,29.00 + +Table: Data List +x,y,z +31.00,32.00,33.00 +34.00,35.00,36.00 +37.00,38.00,39.00 +]) +AT_CLEANUP + AT_SETUP([DATA LIST FIXED with multiple records per case]) AT_DATA([data-list.pspp], [dnl data list fixed notable @@ -160,9 +224,9 @@ end data. list. ]) AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl -data-list.pspp:8.1-3: warning: Data for variable count is not valid as format F: Field contents are not numeric. +data-list.pspp:8.1-8.3: warning: Data for variable count is not valid as format F: Field contents are not numeric. -data-list.pspp:11.1-3: warning: Data for variable count is not valid as format F: Field contents are not numeric. +data-list.pspp:11.1-11.3: warning: Data for variable count is not valid as format F: Field contents are not numeric. Table: Data List start,end,count @@ -225,3 +289,64 @@ a,b,c 16.00,17.00,18.00 ]) AT_CLEANUP + +AT_SETUP([DATA LIST properly expands tabs in input]) +AT_DATA([data-list.sps], [dnl +data list notable /X 1-50 (a). +begin data. + 1 12 123 1234 12345 . +end data. +print /x. +print outfile='print.txt' /x. +write outfile='write.txt' /x. +execute. +]) +AT_CHECK([sed -n '/12345/l' data-list.sps], [0], [dnl +\t1\t12\t123\t1234\t12345 .$ +]) +AT_CHECK([pspp -o pspp.csv data-list.sps]) +dnl The CSV driver drops leading spaces so they don't appear here: +AT_CHECK([cat pspp.csv], [0], [dnl +1 12 123 1234 12345 . @&t@ +]) +dnl But they do appear in print.txt. The PRINT command also puts a space +dnl at the beginning of the line and after the variable: +AT_CHECK([cat print.txt], [0], [dnl + 1 12 123 1234 12345 . @&t@ +]) +dnl WRITE doesn't add spaces at the beginning or end of lines: +AT_CHECK([cat write.txt], [0], [dnl + 1 12 123 1234 12345 . +]) +AT_CLEANUP + +AT_SETUP([DATA LIST FREE and LIST report missing delimiters]) +AT_DATA([data-list.sps], [dnl +DATA LIST FREE NOTABLE/s (a10). +LIST. +BEGIN DATA. +'y'z +END DATA. +]) +AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl +data-list.sps:4: warning: Missing delimiter following quoted string. + +Table: Data List +s +y @&t@ +z @&t@ +]) +AT_CLEANUP + +AT_SETUP([DATA LIST FREE and LIST assume a width if omitted]) +AT_DATA([data-list.sps], [dnl +DATA LIST FREE TABLE/s (a) d (datetime) f (f). +]) +AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl +Table: Reading free-form data from INLINE. +Variable,Format +s,A1 +d,DATETIME17.0 +f,F1.0 +]) +AT_CLEANUP