,4,,5
6
7,
+
8 9
0,1,,,
+
,,,,
+
2
3
end data.
list.
])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [ignore])
AT_CHECK([cat pspp.csv], [0], [dnl
Table: Data List
A,B,C,D
# These records
# are skipped.
1 2 3 4
-1 2 3 @&t@
+1 2 3 4 @&t@
1 2 4
-1 2 @&t@
+1 2 4 @&t@
1 3 4
-1 3 @&t@
+1 3 4 @&t@
1 4
-1 @&t@
+1 4 @&t@
2 3 4
- 2 3 @&t@
+ 2 3 4 @&t@
2 4
- 2 @&t@
+ 2 4 @&t@
3 4
- 3 @&t@
+ 3 4 @&t@
4
- @&t@
+ 4 @&t@
end data.
list.
])
Table: Data List
A,B,C,D
1.00,2.00,3.00,4.00
-1.00,2.00,3.00,. @&t@
+1.00,2.00,3.00,4.00
+1.00,2.00,. ,4.00
1.00,2.00,. ,4.00
-1.00,2.00,. ,. @&t@
1.00,. ,3.00,4.00
-1.00,. ,3.00,. @&t@
+1.00,. ,3.00,4.00
+1.00,. ,. ,4.00
1.00,. ,. ,4.00
-1.00,. ,. ,. @&t@
. ,2.00,3.00,4.00
-. ,2.00,3.00,. @&t@
+. ,2.00,3.00,4.00
. ,2.00,. ,4.00
-. ,2.00,. ,. @&t@
+. ,2.00,. ,4.00
+. ,. ,3.00,4.00
. ,. ,3.00,4.00
-. ,. ,3.00,. @&t@
. ,. ,. ,4.00
-. ,. ,. ,. @&t@
+. ,. ,. ,4.00
])
AT_CLEANUP
AT_SETUP([GET DATA /TYPE=TXT with multiple records per case])
AT_DATA([get-data.sps], [dnl
get data /type=txt /file=inline /arrangement=fixed /fixcase=3 /variables=
- /1 start 0-19 adate
+ /1 start 0-19 adate8
/2 end 0-19 adate
/3 count 0-2 f.
begin data.
AT_CHECK([cat pspp.csv], [0], [dnl
Table: Data List
start,end,count
-07/22/2007,10/06/2007,321
-07/14/1789,08/26/1789,4
-01/01/1972,12/31/1999,682
+07/22/07,10/06/2007,321
+********,08/26/1789,4
+01/01/72,12/31/1999,682
])
AT_CLEANUP
"Gilly", , White, "10 Apr 2007", 10, "3""", "Guinea Pig"
])
AT_DATA([pets.sps], [dnl
-GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"' /ESCAPE
+GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"'
/FIRSTCASE=3
/VARIABLES=name A10
age F3.1
AT_CLEANUP
dnl " (fixes Emacs highlighting)
-AT_SETUP([GET DATA /TYPE=TXT with IMPORTCASES])
+AT_SETUP([GET DATA /TYPE=TXT with IMPORTCASE])
AT_CHECK([$PERL > test.data <<'EOF'
for ($i = 1; $i <= 100; $i++) {
printf "%02d\n", $i;
EOF
])
AT_DATA([get-data.sps], [dnl
-get data /type=txt /file='test.data' /importcases=first 10 /variables x f8.0.
+get data /type=txt /file='test.data' /importcase=first 10 /variables x f8.0.
list.
-get data /type=txt /file='test.data' /importcases=percent 1 /variables x f8.0.
+get data /type=txt /file='test.data' /importcase=percent 1 /variables x f8.0.
list.
-get data /type=txt /file='test.data' /importcases=percent 35 /variables x f8.0.
+get data /type=txt /file='test.data' /importcase=percent 35 /variables x f8.0.
list.
-get data /type=txt /file='test.data' /importcases=percent 95 /variables x f8.0.
+get data /type=txt /file='test.data' /importcase=percent 95 /variables x f8.0.
list.
-get data /type=txt /file='test.data' /importcases=percent 100 /variables x f8.0.
+get data /type=txt /file='test.data' /importcase=percent 100 /variables x f8.0.
list.
])
AT_CHECK([pspp -o pspp.csv get-data.sps])
100
])
AT_CLEANUP
+
+AT_SETUP([GET DATA /TYPE=TXT with ENCODING subcommand])
+AT_CHECK([i18n-test supports_encodings UTF-8 ISO-8859-1])
+AT_DATA([get-data.sps], [dnl
+set locale='utf-8'
+get data /type=txt /file='data.txt' /encoding='iso-8859-1'
+ /delimiters="," /variables=s a8.
+list.
+])
+printf '\351' > data.txt # é in ISO-8859-1.
+AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Data List
+s
+é @&t@
+])
+AT_CLEANUP