nuttx-apps/interpreters/bas/test/test14

243 lines
4.4 KiB
Bash

#!/bin/sh
echo -n $0: 'SELECT CASE... '
cat >test.bas <<'eof'
10 for i=0 to 9
20 for j=0 to 9
30 print i,j
40 select case i
50 case 0
60 print "i after case 0"
70 case 1
80 print "i after case 1"
90 select case j
100 case 0
110 print "j after case 0"
120 end select
130 case 3 to 5,7
140 print "i after case 3 to 5, 7"
150 case is <9
160 print "is after case is <9"
170 case else
180 print "i after case else"
190 end select
200 next
210 next
eof
cat >test.ref <<eof
0 0
i after case 0
0 1
i after case 0
0 2
i after case 0
0 3
i after case 0
0 4
i after case 0
0 5
i after case 0
0 6
i after case 0
0 7
i after case 0
0 8
i after case 0
0 9
i after case 0
1 0
i after case 1
j after case 0
1 1
i after case 1
1 2
i after case 1
1 3
i after case 1
1 4
i after case 1
1 5
i after case 1
1 6
i after case 1
1 7
i after case 1
1 8
i after case 1
1 9
i after case 1
2 0
is after case is <9
2 1
is after case is <9
2 2
is after case is <9
2 3
is after case is <9
2 4
is after case is <9
2 5
is after case is <9
2 6
is after case is <9
2 7
is after case is <9
2 8
is after case is <9
2 9
is after case is <9
3 0
i after case 3 to 5, 7
3 1
i after case 3 to 5, 7
3 2
i after case 3 to 5, 7
3 3
i after case 3 to 5, 7
3 4
i after case 3 to 5, 7
3 5
i after case 3 to 5, 7
3 6
i after case 3 to 5, 7
3 7
i after case 3 to 5, 7
3 8
i after case 3 to 5, 7
3 9
i after case 3 to 5, 7
4 0
i after case 3 to 5, 7
4 1
i after case 3 to 5, 7
4 2
i after case 3 to 5, 7
4 3
i after case 3 to 5, 7
4 4
i after case 3 to 5, 7
4 5
i after case 3 to 5, 7
4 6
i after case 3 to 5, 7
4 7
i after case 3 to 5, 7
4 8
i after case 3 to 5, 7
4 9
i after case 3 to 5, 7
5 0
i after case 3 to 5, 7
5 1
i after case 3 to 5, 7
5 2
i after case 3 to 5, 7
5 3
i after case 3 to 5, 7
5 4
i after case 3 to 5, 7
5 5
i after case 3 to 5, 7
5 6
i after case 3 to 5, 7
5 7
i after case 3 to 5, 7
5 8
i after case 3 to 5, 7
5 9
i after case 3 to 5, 7
6 0
is after case is <9
6 1
is after case is <9
6 2
is after case is <9
6 3
is after case is <9
6 4
is after case is <9
6 5
is after case is <9
6 6
is after case is <9
6 7
is after case is <9
6 8
is after case is <9
6 9
is after case is <9
7 0
i after case 3 to 5, 7
7 1
i after case 3 to 5, 7
7 2
i after case 3 to 5, 7
7 3
i after case 3 to 5, 7
7 4
i after case 3 to 5, 7
7 5
i after case 3 to 5, 7
7 6
i after case 3 to 5, 7
7 7
i after case 3 to 5, 7
7 8
i after case 3 to 5, 7
7 9
i after case 3 to 5, 7
8 0
is after case is <9
8 1
is after case is <9
8 2
is after case is <9
8 3
is after case is <9
8 4
is after case is <9
8 5
is after case is <9
8 6
is after case is <9
8 7
is after case is <9
8 8
is after case is <9
8 9
is after case is <9
9 0
i after case else
9 1
i after case else
9 2
i after case else
9 3
i after case else
9 4
i after case else
9 5
i after case else
9 6
i after case else
9 7
i after case else
9 8
i after case else
9 9
i after case else
eof
sh ./test/runbas test.bas >test.data
if cmp test.ref test.data
then
rm -f test.*
echo passed
else
echo failed
exit 1
fi