-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathtest_for.js
84 lines (56 loc) · 1.08 KB
/
test_for.js
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
// test_for.js
// -----------
var assert = console.assert;
// -----------------------------------------------------------------------------
// Ensure all 8 forms are working
// -----------------------------------------------------------------------------
var i = 0;
// for ( exp ; exp ; exp ) stmt
for (i = 10; i > 0; i--) {
assert(i > 0);
}
assert(i === 0);
// for ( exp ; exp ; ) stmt
for (i = 4; i < 10;) {
assert(i >= 4);
assert(i < 10);
i++;
}
assert(i === 10);
// for ( exp ; ; exp ) stmt
for (i = 50 ;; i++) {
assert(i >= 50);
if (i === 100) break;
}
assert(i === 100);
// for ( exp ; ; ) stmt
for (i = 0;;) {
if (i > 10) break;
i++;
}
assert(i === 11);
// for ( ; exp ; exp ) stmt
for (; i > -50; i--) {
assert(i <= 11);
assert(i > -50);
}
assert(i === -50);
// for ( ; exp ; ) stmt
for (; i < 12 ;) {
assert(i >= -50);
i++;
}
assert(i === 12);
// for ( ; ; exp ) stmt
for (;; i++) {
assert(i >= 12);
if (i === 200) break;
}
assert(i === 200);
// for ( ; ; ) stmt
var stop = false;
for (;;) {
if (stop) break;
stop = true;
}
assert(stop);