js/src/tests/ecma_5/misc/syntax-error-end-of-for-head-part.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:ff603beb20d3
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!");

mercurial