2 m4_define([SPREADSHEET_TEST_PREP],[dnl
4 AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric])dnl
5 m4_define([testsheet],[Book1.gnumeric])dnl
6 AT_SKIP_IF([test n$GNM_SUPPORT != nyes])dnl
9 AT_CHECK([cp $top_srcdir/tests/language/data-io/test.ods test.ods])dnl
10 m4_define([testsheet],[test.ods])dnl
11 AT_SKIP_IF([test n$ODF_READ_SUPPORT != nyes])dnl
15 m4_define([CHECK_SPREADSHEET_READER],
17 AT_SETUP([GET DATA /TYPE=$1 with CELLRANGE])
18 SPREADSHEET_TEST_PREP($1)
19 AT_DATA([get-data.sps], [dnl
20 GET DATA /TYPE=$1 /FILE='testsheet' /READNAMES=off /SHEET=name 'This' /CELLRANGE=range 'g9:i13' .
24 AT_CHECK([pspp -o pspp.csv get-data.sps])
25 AT_CHECK([cat pspp.csv], [0], [dnl
26 Variable,Description,,Position
27 VAR001,Format: F8.2,,1
29 ,Display Alignment: Right,,
33 ,Display Alignment: Left,,
35 VAR003,Format: F8.2,,3
37 ,Display Alignment: Right,,
50 AT_SETUP([GET DATA /TYPE=$1 with CELLRANGE and READNAMES])
51 SPREADSHEET_TEST_PREP($1)
52 AT_DATA([get-data.sps], [dnl
53 GET DATA /TYPE=$1 /FILE='testsheet' /READNAMES=on /SHEET=name 'This' /CELLRANGE=range 'g8:i13' .
57 AT_CHECK([pspp -o pspp.csv get-data.sps])
58 AT_CHECK([cat pspp.csv], [0], [dnl
59 Variable,Description,,Position
62 ,Display Alignment: Right,,
66 ,Display Alignment: Left,,
68 VAR001,Format: F8.2,,3
70 ,Display Alignment: Right,,
83 AT_SETUP([GET DATA /TYPE=$1 without CELLRANGE])
84 SPREADSHEET_TEST_PREP($1)
85 AT_DATA([get-data.sps], [dnl
86 GET DATA /TYPE=$1 /FILE='testsheet' /SHEET=index 3.
90 AT_CHECK([pspp -o pspp.csv get-data.sps])
91 AT_CHECK([cat pspp.csv], [0], [dnl
92 Variable,Description,,Position
95 ,Display Alignment: Left,,
99 ,Display Alignment: Right,,
101 height,Format: F8.2,,3
103 ,Display Alignment: Right,,
115 AT_SETUP([GET DATA /TYPE=$1 with missing data])
116 SPREADSHEET_TEST_PREP($1)
117 AT_DATA([get-data.sps], [dnl
118 * This sheet has no data in one of its variables
119 GET DATA /TYPE=$1 /FILE='testsheet' /READNAMES=on /SHEET=index 5.
123 AT_CHECK([pspp -o pspp.csv get-data.sps])
124 AT_CHECK([cat pspp.csv], [0], [dnl
125 Variable,Description,,Position
128 ,Display Alignment: Right,,
132 ,Display Alignment: Right,,
136 ,Display Alignment: Left,,
140 ,Display Alignment: Right,,
150 AT_SETUP([GET DATA /TYPE=$1 with empty sheet])
151 SPREADSHEET_TEST_PREP($1)
152 AT_DATA([get-data.sps], [dnl
153 * This sheet is empty
154 GET DATA /TYPE=$1 /FILE='testsheet' /SHEET=name 'Empty'.
156 AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl
157 warning: Selected sheet or range of spreadsheet `testsheet' is empty.
161 AT_SETUP([GET DATA /TYPE=$1 with nonexistent sheet])
162 SPREADSHEET_TEST_PREP($1)
163 AT_DATA([get-data.sps], [dnl
164 * This sheet doesnt exist.
165 GET DATA /TYPE=$1 /FILE='testsheet' /SHEET=name 'foobarxx'.
167 AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl
168 warning: Selected sheet or range of spreadsheet `testsheet' is empty.
174 AT_BANNER([GET DATA Spreadsheet /TYPE=GNM])
176 CHECK_SPREADSHEET_READER([GNM])
178 dnl Check for a bug where gnumeric files were interpreted incorrectly
179 AT_SETUP([GET DATA /TYPE=GNM sheet index bug])
180 AT_DATA([minimal3.gnumeric],[dnl
181 <?xml version="1.0" encoding="UTF-8"?>
182 <gnm:Workbook xmlns:gnm="http://www.gnumeric.org/v10.dtd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gnumeric.org/v9.xsd">
183 <gnm:Version Epoch="1" Major="10" Minor="8" Full="1.10.8"/>
185 <gnm:SheetName gnm:Cols="256" gnm:Rows="65536">Sheet1</gnm:SheetName>
186 <gnm:SheetName gnm:Cols="256" gnm:Rows="65536">Sheet2</gnm:SheetName>
187 <gnm:SheetName gnm:Cols="256" gnm:Rows="65536">Sheet3</gnm:SheetName>
188 </gnm:SheetNameIndex>
190 <gnm:Sheet DisplayFormulas="0" HideZero="0" HideGrid="0" HideColHeader="0" HideRowHeader="0" DisplayOutlines="1" OutlineSymbolsBelow="1" OutlineSymbolsRight="1" Visibility="GNM_SHEET_VISIBILITY_VISIBLE" GridColor="0:0:0">
191 <gnm:Name>Sheet1</gnm:Name>
192 <gnm:MaxCol>2</gnm:MaxCol>
193 <gnm:MaxRow>3</gnm:MaxRow>
196 <gnm:name>Print_Area</gnm:name>
197 <gnm:value>#REF!</gnm:value>
198 <gnm:position>A1</gnm:position>
201 <gnm:name>Sheet_Title</gnm:name>
202 <gnm:value>"Sheet1"</gnm:value>
203 <gnm:position>A1</gnm:position>
206 <gnm:Cols DefaultSizePts="48">
207 <gnm:ColInfo No="0" Unit="94.5" HardSize="1"/>
208 <gnm:ColInfo No="1" Unit="48" Count="2"/>
210 <gnm:Rows DefaultSizePts="12.75">
211 <gnm:RowInfo No="0" Unit="13.5" Count="4"/>
214 <gnm:Cell Row="0" Col="0" ValueType="60">Name</gnm:Cell>
215 <gnm:Cell Row="0" Col="1" ValueType="60">x</gnm:Cell>
216 <gnm:Cell Row="0" Col="2" ValueType="60">y</gnm:Cell>
217 <gnm:Cell Row="1" Col="0" ValueType="60">Sheet One</gnm:Cell>
218 <gnm:Cell Row="1" Col="1" ValueType="40">1</gnm:Cell>
219 <gnm:Cell Row="1" Col="2" ValueType="40">2</gnm:Cell>
220 <gnm:Cell Row="2" Col="0" ValueType="60">foo</gnm:Cell>
221 <gnm:Cell Row="2" Col="1" ValueType="40">3</gnm:Cell>
222 <gnm:Cell Row="2" Col="2" ValueType="40">4</gnm:Cell>
223 <gnm:Cell Row="3" Col="0" ValueType="60">bar</gnm:Cell>
224 <gnm:Cell Row="3" Col="1" ValueType="40">5</gnm:Cell>
225 <gnm:Cell Row="3" Col="2" ValueType="40">6</gnm:Cell>
228 <gnm:Sheet DisplayFormulas="0" HideZero="0" HideGrid="0" HideColHeader="0" HideRowHeader="0" DisplayOutlines="1" OutlineSymbolsBelow="1" OutlineSymbolsRight="1" Visibility="GNM_SHEET_VISIBILITY_VISIBLE" GridColor="0:0:0">
229 <gnm:Name>Sheet2</gnm:Name>
230 <gnm:MaxCol>2</gnm:MaxCol>
231 <gnm:MaxRow>2</gnm:MaxRow>
234 <gnm:name>Print_Area</gnm:name>
235 <gnm:value>#REF!</gnm:value>
236 <gnm:position>A1</gnm:position>
239 <gnm:name>Sheet_Title</gnm:name>
240 <gnm:value>"Sheet2"</gnm:value>
241 <gnm:position>A1</gnm:position>
244 <gnm:Cols DefaultSizePts="48">
245 <gnm:ColInfo No="0" Unit="48"/>
246 <gnm:ColInfo No="1" Unit="57.75"/>
247 <gnm:ColInfo No="2" Unit="54.75"/>
249 <gnm:Rows DefaultSizePts="12.75">
250 <gnm:RowInfo No="0" Unit="13.5" Count="3"/>
253 <gnm:Cell Row="0" Col="0" ValueType="60">Comment</gnm:Cell>
254 <gnm:Cell Row="0" Col="1" ValueType="60">DOB</gnm:Cell>
255 <gnm:Cell Row="0" Col="2" ValueType="60">wealth</gnm:Cell>
256 <gnm:Cell Row="1" Col="0" ValueType="60">Sheet Two</gnm:Cell>
257 <gnm:Cell Row="1" Col="1" ValueType="60">24/5/1966</gnm:Cell>
258 <gnm:Cell Row="1" Col="2" ValueType="40" ValueFormat="_($* 0.00_);_($* (0.00);_($* "-"??_);_(@_)">0.02</gnm:Cell>
259 <gnm:Cell Row="2" Col="0" ValueType="60">wee</gnm:Cell>
260 <gnm:Cell Row="2" Col="1" ValueType="40" ValueFormat="dd/mm/yyyy">37145</gnm:Cell>
261 <gnm:Cell Row="2" Col="2" ValueType="40" ValueFormat="_($* 0.00_);_($* (0.00);_($* "-"??_);_(@_)">3000</gnm:Cell>
264 <gnm:Sheet DisplayFormulas="0" HideZero="0" HideGrid="0" HideColHeader="0" HideRowHeader="0" DisplayOutlines="1" OutlineSymbolsBelow="1" OutlineSymbolsRight="1" Visibility="GNM_SHEET_VISIBILITY_VISIBLE" GridColor="0:0:0">
265 <gnm:Name>Sheet3</gnm:Name>
266 <gnm:MaxCol>2</gnm:MaxCol>
267 <gnm:MaxRow>2</gnm:MaxRow>
270 <gnm:name>Print_Area</gnm:name>
271 <gnm:value>#REF!</gnm:value>
272 <gnm:position>A1</gnm:position>
275 <gnm:name>Sheet_Title</gnm:name>
276 <gnm:value>"Sheet3"</gnm:value>
277 <gnm:position>A1</gnm:position>
280 <gnm:Cols DefaultSizePts="48">
281 <gnm:ColInfo No="0" Unit="48" Count="3"/>
283 <gnm:Rows DefaultSizePts="12.75">
284 <gnm:RowInfo No="0" Unit="13.5"/>
285 <gnm:RowInfo No="1" Unit="12.75" Count="2"/>
288 <gnm:Cell Row="0" Col="0" ValueType="40">3</gnm:Cell>
289 <gnm:Cell Row="0" Col="1" ValueType="40">4</gnm:Cell>
290 <gnm:Cell Row="0" Col="2" ValueType="40">5</gnm:Cell>
291 <gnm:Cell Row="1" Col="0" ValueType="40">6</gnm:Cell>
292 <gnm:Cell Row="1" Col="1" ValueType="40">7</gnm:Cell>
293 <gnm:Cell Row="1" Col="2" ValueType="40">8</gnm:Cell>
294 <gnm:Cell Row="2" Col="0" ValueType="40">9</gnm:Cell>
295 <gnm:Cell Row="2" Col="1" ValueType="40">10</gnm:Cell>
296 <gnm:Cell Row="2" Col="2" ValueType="40">11</gnm:Cell>
303 AT_DATA([gnum.sps], [dnl
306 /FILE='minimal3.gnumeric'
314 AT_CHECK([pspp -O format=csv gnum.sps], [0], [dnl
325 AT_BANNER([GET DATA Spreadsheet /TYPE=ODS])
327 CHECK_SPREADSHEET_READER([ODS])