regress-273931.js (1215B)
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 = 273931; 8 var summary = 'Pop scope chain in exception handling'; 9 var actual = ''; 10 var expect = 'ReferenceError'; 11 12 printBugNumber(BUGNUMBER); 13 printStatus (summary); 14 15 status = summary + ' ' + inSection(1) + ' '; 16 try 17 { 18 with ({foo:"bar"}) 19 throw 42; 20 } 21 catch (e) 22 { 23 try 24 { 25 printStatus(foo); 26 } 27 catch(ee) 28 { 29 actual = ee.name; 30 } 31 } 32 33 reportCompare(expect, actual, status); 34 35 status = summary + ' ' + inSection(2) + ' '; 36 try 37 { 38 with ({foo:"bar"}) 39 eval("throw 42"); 40 } 41 catch (e) 42 { 43 try 44 { 45 printStatus(foo); 46 } 47 catch(ee) 48 { 49 actual = ee.name; 50 } 51 } 52 53 reportCompare(expect, actual, status); 54 55 status = summary + ' ' + inSection(3) + ' '; 56 try 57 { 58 var s = "throw 42"; 59 with ({foo:"bar"}) 60 eval(s); 61 } 62 catch (e) 63 { 64 try 65 { 66 printStatus(foo); 67 } 68 catch(ee) 69 { 70 actual = ee.name; 71 } 72 } 73 74 reportCompare(expect, actual, status);