-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy path055_switch.xml
More file actions
93 lines (78 loc) · 1.94 KB
/
055_switch.xml
File metadata and controls
93 lines (78 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0" encoding="utf-8" ?>
<!--
/*****************************************************************************
*
* ReoScript - .NET Script Language Engine
*
* https://github.com/unvell/ReoScript
*
* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
* KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
* PURPOSE.
*
* This software released under MIT license.
* Copyright (c) 2012-2019 Jingwood, unvell.com, all rights reserved.
*
****************************************************************************/
-->
<test-suite id="055" name="switch">
<test-case id="001">
<script>
var t = debug.assert;
var str = "She sells sea-shells on the sea-shore";
var s = 0, e = 0, l = 0, spaces = 0, others = 0;
for(var i=0; i < str.length; i++) {
switch( str[i] ) {
case 'S':
case 's':
s++;
break;
case 'e':
e++;
break;
case 'l':
l++;
break;
case 't':
case 'h':
case 'o':
case 'n':
case 'r':
case 'a':
case '-':
others++;
break;
default:
// count spaces
spaces++;
break;
}
}
t( s == 8 );
t( e == 7 );
t( l == 4 );
t( spaces == 5 );
t( others == 13 );
</script>
</test-case>
<test-case id="002" name="return in switch">
<script>
var t = debug.assert;
var a = function(b) {
switch(b) {
default:
return -1;
case 1:
return 10;
case 2:
return 20;
}
return -2;
};
t( a(1) == 10 );
t( a(2) == 20 );
t( a(3) == -1 );
</script>
</test-case>
</test-suite>