X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Fget-data-spreadsheet.at;h=b6a18ddf2c5e5c21c8ace8b3295e7f2abf2b6d38;hb=4de373154a9c151264dce1394d00abf95272a7a9;hp=19b8964dcacdf4b8c2e980edfbfe2badd3534c88;hpb=32ee0e0402d6d56674f53a47d879ec5c07dabe09;p=pspp diff --git a/tests/language/data-io/get-data-spreadsheet.at b/tests/language/data-io/get-data-spreadsheet.at index 19b8964dca..b6a18ddf2c 100644 --- a/tests/language/data-io/get-data-spreadsheet.at +++ b/tests/language/data-io/get-data-spreadsheet.at @@ -3,7 +3,7 @@ m4_define([SPREADSHEET_TEST_PREP],[dnl m4_if($1,[GNM],[dnl AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric])dnl m4_define([testsheet],[Book1.gnumeric])dnl - AT_SKIP_IF([test n$GNM_SUPPORT != nyes])dnl + AT_SKIP_IF([test n$GNM_READ_SUPPORT != nyes])dnl ]) dnl m4_if($1,[ODS],[dnl AT_CHECK([cp $top_srcdir/tests/language/data-io/test.ods test.ods])dnl @@ -23,19 +23,10 @@ LIST. ]) AT_CHECK([pspp -o pspp.csv get-data.sps]) AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -VAR001,Format: F8.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -VAR002,Format: A8,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -VAR003,Format: F8.2,,3 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, +Variable,Description,Position +VAR001,Format: F8.2,1 +VAR002,Format: A8,2 +VAR003,Format: F8.2,3 Table: Data List VAR001,VAR002,VAR003 @@ -56,19 +47,10 @@ LIST. ]) AT_CHECK([pspp -o pspp.csv get-data.sps]) AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -V1,Format: F8.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -V2,Format: A8,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -VAR001,Format: F8.2,,3 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, +Variable,Description,Position +V1,Format: F8.2,1 +V2,Format: A8,2 +VAR001,Format: F8.2,3 Table: Data List V1,V2,VAR001 @@ -87,21 +69,13 @@ GET DATA /TYPE=$1 /FILE='testsheet' /SHEET=index 3. DISPLAY VARIABLES. LIST. ]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -name,Format: A8,,1 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -id,Format: F8.2,,2 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -height,Format: F8.2,,3 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, +AT_CHECK([pspp -O format=csv get-data.sps], [0], [dnl +Variable,Description,Position +name,Format: A8,1 +id,Format: F8.2,2 +height,Format: F8.2,3 + +warning: Cannot convert the value in the spreadsheet cell C4 to format (F8.2): Field contents are not numeric. Table: Data List name,id,height @@ -122,23 +96,11 @@ LIST. ]) AT_CHECK([pspp -o pspp.csv get-data.sps]) AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -vone,Format: F8.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -vtwo,Format: F8.2,,2 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -vthree,Format: A8,,3 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -v4,Format: F8.2,,4 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, +Variable,Description,Position +vone,Format: F8.2,1 +vtwo,Format: F8.2,2 +vthree,Format: A8,3 +v4,Format: F8.2,4 Table: Data List vone,vtwo,vthree,v4 @@ -147,6 +109,22 @@ vone,vtwo,vthree,v4 ]) AT_CLEANUP +dnl This syntax doesn't do anything particularly useful. +dnl It has been seen to cause a few crashes, so we check here that it +dnl doesn't do anthing bad. +AT_SETUP([GET DATA /TYPE=$1 with no options]) +SPREADSHEET_TEST_PREP($1) +AT_DATA([get-data.sps], [dnl +* This sheet is empty +GET DATA /TYPE=$1 /FILE='testsheet'. +DISPLAY DICTIONARY. +LIST. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [ignore]) +AT_CLEANUP + + + AT_SETUP([GET DATA /TYPE=$1 with empty sheet]) SPREADSHEET_TEST_PREP($1) AT_DATA([get-data.sps], [dnl @@ -175,7 +153,225 @@ AT_BANNER([GET DATA Spreadsheet /TYPE=GNM]) CHECK_SPREADSHEET_READER([GNM]) +dnl Check for a bug where gnumeric files were interpreted incorrectly +AT_SETUP([GET DATA /TYPE=GNM sheet index bug]) +AT_SKIP_IF([test n$GNM_READ_SUPPORT != nyes]) +AT_DATA([minimal3.gnumeric],[dnl + + + + + Sheet1 + Sheet2 + Sheet3 + + + + Sheet1 + 2 + 3 + + + Print_Area + #REF! + A1 + + + Sheet_Title + "Sheet1" + A1 + + + + + + + + + + + Name + x + y + Sheet One + 1 + 2 + foo + 3 + 4 + bar + 5 + 6 + + + + Sheet2 + 2 + 2 + + + Print_Area + #REF! + A1 + + + Sheet_Title + "Sheet2" + A1 + + + + + + + + + + + + Comment + DOB + wealth + Sheet Two + 24/5/1966 + 0.02 + wee + 37145 + 3000 + + + + Sheet3 + 2 + 2 + + + Print_Area + #REF! + A1 + + + Sheet_Title + "Sheet3" + A1 + + + + + + + + + + + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + + + + +]) + +AT_DATA([gnum.sps], [dnl +GET DATA + /TYPE=GNM + /FILE='minimal3.gnumeric' + /SHEET=index 3 + /READNAMES=off + . + +LIST. +]) + +AT_CHECK([pspp -O format=csv gnum.sps], [0], [dnl +Table: Data List +VAR001,VAR002,VAR003 +3 ,4.00,5.00 +6 ,7.00,8.00 +9 ,10.00,11.00 +]) + + +AT_CLEANUP + + +dnl Check for a bug where certain gnumeric files failed an assertion +AT_SETUP([GET DATA /TYPE=GNM assert-fail]) +AT_SKIP_IF([test n$GNM_READ_SUPPORT != nyes]) +AT_DATA([read.sps],[dnl +GET DATA + /TYPE=GNM + /FILE='crash.gnumeric' + . +list. +]) + + +AT_DATA([crash.gnumeric],[dnl + + + + + + Sheet1 + + + + Sheet1 + 2 + 4 + + + + + + + one + two + 1 + 2 + 1 + 2 + 1 + 2 + + + + +]) + +AT_CHECK([pspp -O format=csv read.sps], [0], [ignore]) + + +AT_CLEANUP + + + AT_BANNER([GET DATA Spreadsheet /TYPE=ODS]) CHECK_SPREADSHEET_READER([ODS]) + +AT_SETUP([GET DATA /TYPE=ODS crash]) +AT_SKIP_IF([test n$ODF_READ_SUPPORT != nyes]) + + +AT_CHECK([cp $top_srcdir/tests/language/data-io/newone.ods this.ods])dnl + +AT_DATA([crash.sps],[dnl +GET DATA /TYPE=ODS /FILE='this.ods' /CELLRANGE=RANGE 'A1:C8' /READNAMES=ON +LIST. +]) + +AT_CHECK([pspp -O format=csv crash.sps], [0], [ignore]) + +AT_CLEANUP +