Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /*
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/licenses/publicdomain/
4 */
6 //-----------------------------------------------------------------------------
7 var BUGNUMBER = 672854;
8 var summary =
9 "Syntax errors at the end of |for| statement header parts shouldn't cause " +
10 "crashes";
12 print(BUGNUMBER + ": " + summary);
14 /**************
15 * BEGIN TEST *
16 **************/
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 }
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");
47 /******************************************************************************/
49 reportCompare(true, true);
51 print("Tests complete!");