bug642164.js (411B)
1 function raisesException(exception) { 2 return function (code) { 3 eval(code); 4 }; 5 }; 6 function obj() { 7 var o = { assertEq: true, y: 1 }; 8 Object.defineProperty(o, 'x', { writable: false }); 9 return o; 10 } 11 function in_strict_with(expr) { 12 return "with(obj()) { (function () { 'use strict'; " + expr + " })(); }"; 13 } 14 try { assertEq(raisesException(TypeError)(in_strict_with('x++;')), true); } catch (e) {}