NUMERIC, STRING, LEAVE: Improve error messages.
[pspp] / tests / language / dictionary / numeric.at
1 AT_BANNER([NUMERIC])
2
3 AT_SETUP([NUMERIC])
4 AT_DATA([numeric.sps], [dnl
5 DATA LIST LIST NOTABLE/x y z.
6 NUMERIC n/k(F5).
7 DISPLAY DICTIONARY.
8 ])
9 AT_CHECK([pspp -O format=csv numeric.sps], [0], [dnl
10 Table: Variables
11 Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
12 x,1,Unknown,Input,8,Right,F8.2,F8.2
13 y,2,Unknown,Input,8,Right,F8.2,F8.2
14 z,3,Unknown,Input,8,Right,F8.2,F8.2
15 n,4,Unknown,Input,8,Right,F8.2,F8.2
16 k,5,Unknown,Input,8,Right,F5.0,F5.0
17 ])
18 AT_CLEANUP
19
20 AT_SETUP([NUMERIC syntax errors])
21 AT_DATA([numeric.sps], [dnl
22 DATA LIST LIST NOTABLE/x y z.
23 NUMERIC **.
24 NUMERIC n **.
25 NUMERIC x.
26 NUMERIC n (**).
27 NUMERIC n (F50).
28 NUMERIC n (A8).
29 NUMERIC n (F8.0 **).
30 ])
31 AT_CHECK([pspp -O format=csv numeric.sps], [1], [dnl
32 "numeric.sps:2.9-2.10: error: NUMERIC: Syntax error expecting variable name.
33     2 | NUMERIC **.
34       |         ^~"
35
36 "numeric.sps:3.11-3.12: error: NUMERIC: Syntax error expecting end of command.
37     3 | NUMERIC n **.
38       |           ^~"
39
40 "numeric.sps:4.9: error: NUMERIC: There is already a variable named x.
41     4 | NUMERIC x.
42       |         ^"
43
44 "numeric.sps:5.12-5.13: error: NUMERIC: Syntax error expecting valid format specifier.
45     5 | NUMERIC n (**).
46       |            ^~"
47
48 "numeric.sps:6.12-6.14: error: NUMERIC: Output format F50.0 specifies width 50, but F requires a width between 1 and 40.
49     6 | NUMERIC n (F50).
50       |            ^~~"
51
52 "numeric.sps:7.12-7.13: error: NUMERIC: Format type A8 may not be used with a numeric variable.
53     7 | NUMERIC n (A8).
54       |            ^~"
55
56 "numeric.sps:8.17-8.18: error: NUMERIC: Syntax error expecting `@:}@'.
57     8 | NUMERIC n (F8.0 **).
58       |                 ^~"
59 ])
60 AT_CLEANUP