1 AT_BANNER([GET DATA /TYPE=TXT])
3 dnl These tests exercise features of GET DATA /TYPE=TXT that
4 dnl it has in common with DATA LIST, using tests drawn from
7 AT_SETUP([GET DATA /TYPE=TXT with explicit delimiters])
8 AT_DATA([get-data.sps], [dnl
9 get data /type=txt /file=inline /delimiters="|X"
10 /variables=A f7.2 B f7.2 C f7.2 D f7.2.
19 AT_CHECK([pspp -o pspp.csv get-data.sps])
20 AT_CHECK([cat pspp.csv], [0], [dnl
24 2.00,22.00,34.00,23.00
25 3.00,34.00,34.00,34.00
29 AT_SETUP([GET DATA /TYPE=TXT with FIRSTCASE])
30 AT_DATA([get-data.sps], [dnl
31 get data /type=txt /file=inline /delimiters=', ' /delcase=variables 4
32 /firstcase=2 /variables=A f7.2 B f7.2 C f7.2 D f7.2.
34 # This record is ignored.
53 AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [ignore])
54 AT_CHECK([cat pspp.csv], [0], [dnl
67 AT_SETUP([GET DATA /TYPE=TXT with FIRSTCASE and tab delimiter])
68 AT_DATA([get-data.sps], [dnl
69 get data /type=txt /file=inline /delimiters='\t' /delcase=variables 4
70 /firstcase=3 /variables=A f7.2 B f7.2 C f7.2 D f7.2.
93 AT_CHECK([pspp -o pspp.csv get-data.sps])
94 AT_CHECK([cat pspp.csv], [0], [dnl
116 AT_SETUP([GET DATA /TYPE=TXT with multiple records per case])
117 AT_DATA([get-data.sps], [dnl
118 get data /type=txt /file=inline /arrangement=fixed /fixcase=3 /variables=
135 AT_CHECK([pspp -o pspp.csv get-data.sps])
136 AT_CHECK([cat pspp.csv], [0], [dnl
139 07/22/07,10/06/2007,321
140 ********,08/26/1789,4
141 01/01/72,12/31/1999,682
145 AT_SETUP([GET DATA /TYPE=TXT with empty trailing record])
146 AT_DATA([get-data.sps], [dnl
147 get data /type=txt /file=inline /arrangement=fixed /fixcase=2 /variables=
164 AT_CHECK([pspp -o pspp.csv get-data.sps])
165 AT_CHECK([cat pspp.csv], [0], [dnl
176 dnl This test is a copy of an example given in the manual
177 dnl in doc/files.texi.
178 AT_SETUP([GET DATA /TYPE=TXT password example])
179 AT_DATA([passwd.data], [dnl
180 root:$1$nyeSP5gD$pDq/:0:0:,,,:/root:/bin/bash
181 blp:$1$BrP/pFg4$g7OG:1000:1000:Ben Pfaff,,,:/home/blp:/bin/bash
182 john:$1$JBuq/Fioq$g4A:1001:1001:John Darrington,,,:/home/john:/bin/bash
183 jhs:$1$D3li4hPL$88X1:1002:1002:Jason Stover,,,:/home/jhs:/bin/csh
185 AT_DATA([passwd.sps], [dnl
186 GET DATA /TYPE=TXT /FILE='passwd.data' /DELIMITERS=':'
187 /VARIABLES=username A20
196 AT_CHECK([pspp -o pspp.csv passwd.sps])
197 AT_CHECK([cat pspp.csv], [0], [dnl
199 username,password,uid,gid,gecos,home,shell
200 root ,$1$nyeSP5gD$pDq/ ,0,0,",,, ",/root ,/bin/bash @&t@
201 blp ,$1$BrP/pFg4$g7OG ,1000,1000,"Ben Pfaff,,, ",/home/blp ,/bin/bash @&t@
202 john ,$1$JBuq/Fioq$g4A ,1001,1001,"John Darrington,,, ",/home/john ,/bin/bash @&t@
203 jhs ,$1$D3li4hPL$88X1 ,1002,1002,"Jason Stover,,, ",/home/jhs ,/bin/csh @&t@
207 dnl This test is a copy of an example given in the manual
208 dnl in doc/files.texi.
209 AT_SETUP([GET DATA /TYPE=TXT cars example])
210 AT_DATA([cars.data], [dnl
211 model year mileage price type age
212 Civic 2002 29883 15900 Si 2
213 Civic 2003 13415 15900 EX 1
214 Civic 1992 107000 3800 n/a 12
215 Accord 2002 26613 17900 EX 1
217 AT_DATA([cars.sps], [dnl
218 GET DATA /TYPE=TXT /FILE='cars.data' /DELIMITERS=' ' /FIRSTCASE=2
227 GET DATA /TYPE=TXT /FILE='cars.data' /ARRANGEMENT=FIXED /FIRSTCASE=2
228 /VARIABLES=model 0-7 A
236 AT_CHECK([pspp -o pspp.csv cars.sps])
237 AT_CHECK([cat pspp.csv], [0], [dnl
239 model,year,mileage,price,type,age
240 Civic ,2002,29883,15900,Si ,2
241 Civic ,2003,13415,15900,EX ,1
242 Civic ,1992,107000,3800,n/a ,12
243 Accord ,2002,26613,17900,EX ,1
246 model,year,mileage,price,type,age
247 Civic ,2002,29883,15900,Si ,2
248 Civic ,2003,13415,15900,EX ,1
249 Civic ,1992,107000,3800,n/a ,12
250 Accord ,2002,26613,17900,EX ,1
254 dnl This test is a copy of an example given in the manual
255 dnl in doc/files.texi.
256 AT_SETUP([GET DATA /TYPE=TXT pets example])
257 AT_DATA([pets.data], [dnl
258 'Pet''s Name', "Age", "Color", "Date Received", "Price", "Height", "Type"
259 , (Years), , , (Dollars), ,
260 "Rover", 4.5, Brown, "12 Feb 2004", 80, '1''4"', "Dog"
261 "Charlie", , Gold, "5 Apr 2007", 12.3, "3""", "Fish"
262 "Molly", 2, Black, "12 Dec 2006", 25, '5"', "Cat"
263 "Gilly", , White, "10 Apr 2007", 10, "3""", "Guinea Pig"
265 AT_DATA([pets.sps], [dnl
266 GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"' /ESCAPE
277 AT_CHECK([pspp -o pspp.csv pets.sps])
278 AT_CHECK([cat pspp.csv], [0], [dnl
280 name,age,color,received,price,height,type
281 Rover ,4.5,Brown,12.02.2004,80.00,"1'4"" ",Dog @&t@
282 Charlie ,. ,Gold ,05.04.2007,12.30,"3"" ",Fish @&t@
283 Molly ,2.0,Black,12.12.2006,25.00,"5"" ",Cat @&t@
284 Gilly ,. ,White,10.04.2007,10.00,"3"" ",Guinea Pig
287 dnl " (fixes Emacs highlighting)
289 AT_SETUP([GET DATA /TYPE=TXT with IMPORTCASES])
290 AT_CHECK([$PERL > test.data <<'EOF'
291 for ($i = 1; $i <= 100; $i++) {
296 AT_DATA([get-data.sps], [dnl
297 get data /type=txt /file='test.data' /importcases=first 10 /variables x f8.0.
300 get data /type=txt /file='test.data' /importcases=percent 1 /variables x f8.0.
303 get data /type=txt /file='test.data' /importcases=percent 35 /variables x f8.0.
306 get data /type=txt /file='test.data' /importcases=percent 95 /variables x f8.0.
309 get data /type=txt /file='test.data' /importcases=percent 100 /variables x f8.0.
312 AT_CHECK([pspp -o pspp.csv get-data.sps])
313 AT_CHECK([cat pspp.csv], [0], [dnl
575 AT_SETUP([GET DATA /TYPE=TXT with ENCODING subcommand])
576 AT_CHECK([i18n-test supports_encodings UTF-8 ISO-8859-1])
577 AT_DATA([get-data.sps], [dnl
579 get data /type=txt /file='data.txt' /encoding='iso-8859-1'
580 /delimiters="," /variables=s a8.
583 printf '\351' > data.txt # é in ISO-8859-1.
584 AT_CHECK([pspp -o pspp.csv get-data.sps])
585 AT_CHECK([cat pspp.csv], [0], [dnl