js/src/tests/ecma_5/misc/unnamed-function.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:404083ac52c8
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 //-----------------------------------------------------------------------------
7 var BUGNUMBER = 376052;
8 var summary = 'Unnamed function expressions are forbidden in statement context';
9
10
11 //-----------------------------------------------------------------------------
12 test();
13 //-----------------------------------------------------------------------------
14
15 function test()
16 {
17 enterFunc ('test');
18 printBugNumber(BUGNUMBER);
19 printStatus (summary);
20
21 try
22 {
23 eval('(function () {1;})');
24 reportCompare(true, true,
25 "unnamed function expression not in statement context works");
26 }
27 catch(ex)
28 {
29 reportCompare(true, false, "threw exception: " + ex);
30 }
31
32 try
33 {
34 eval('function () {1;}');
35 reportCompare(true, false, "didn't throw an exception");
36 }
37 catch(ex)
38 {
39 reportCompare(ex instanceof SyntaxError, true,
40 "unnamed function expression not in statement context " +
41 "should have been a SyntaxError");
42 }
43
44 exitFunc ('test');
45 }

mercurial