unnamed-function.js (1234B)
1 /* -*- indent-tabs-mode: nil; js-indent-level: 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 printBugNumber(BUGNUMBER); 18 printStatus (summary); 19 20 try 21 { 22 eval('(function () {1;})'); 23 reportCompare(true, true, 24 "unnamed function expression not in statement context works"); 25 } 26 catch(ex) 27 { 28 reportCompare(true, false, "threw exception: " + ex); 29 } 30 31 try 32 { 33 eval('function () {1;}'); 34 reportCompare(true, false, "didn't throw an exception"); 35 } 36 catch(ex) 37 { 38 reportCompare(ex instanceof SyntaxError, true, 39 "unnamed function expression not in statement context " + 40 "should have been a SyntaxError"); 41 } 42 }