|
1 /* |
|
2 * Any copyright is dedicated to the Public Domain. |
|
3 * http://creativecommons.org/licenses/publicdomain/ |
|
4 */ |
|
5 |
|
6 //----------------------------------------------------------------------------- |
|
7 var BUGNUMBER = 672854; |
|
8 var summary = |
|
9 "Syntax errors at the end of |for| statement header parts shouldn't cause " + |
|
10 "crashes"; |
|
11 |
|
12 print(BUGNUMBER + ": " + summary); |
|
13 |
|
14 /************** |
|
15 * BEGIN TEST * |
|
16 **************/ |
|
17 |
|
18 function checkSyntaxError(str) |
|
19 { |
|
20 try |
|
21 { |
|
22 var f = Function("for(w in\\"); |
|
23 throw new Error("didn't throw, returned " + f); |
|
24 } |
|
25 catch (e) |
|
26 { |
|
27 assertEq(e instanceof SyntaxError, true, |
|
28 "expected SyntaxError, got " + e); |
|
29 } |
|
30 } |
|
31 |
|
32 checkSyntaxError("for(var w in \\"); |
|
33 checkSyntaxError("for(w in \\"); |
|
34 checkSyntaxError("for(var w\\"); |
|
35 checkSyntaxError("for(w\\"); |
|
36 checkSyntaxError("for(var w;\\"); |
|
37 checkSyntaxError("for(w;\\"); |
|
38 checkSyntaxError("for(var w; w >\\"); |
|
39 checkSyntaxError("for(w; w >\\"); |
|
40 checkSyntaxError("for(var w; w > 3;\\"); |
|
41 checkSyntaxError("for(w; w > 3;\\"); |
|
42 checkSyntaxError("for(var w; w > 3; 5\\"); |
|
43 checkSyntaxError("for(w; w > 3; 5\\"); |
|
44 checkSyntaxError("for(var w; w > 3; 5foo"); |
|
45 checkSyntaxError("for(w; w > 3; 5foo"); |
|
46 |
|
47 /******************************************************************************/ |
|
48 |
|
49 reportCompare(true, true); |
|
50 |
|
51 print("Tests complete!"); |