strict-eval-mutation.js (578B)
1 /* 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/licenses/publicdomain/ 4 */ 5 load(libdir + 'array-compare.js'); 6 7 var obj = {}; 8 9 function strictEvalMutation(code) 10 { 11 "use strict"; 12 return eval(code); 13 } 14 15 var a1, a2; 16 for (var i = 0; i < 5; i++) 17 { 18 a1 = strictEvalMutation("code = 17; arguments"); 19 a2 = strictEvalMutation("arguments[0] = 17; arguments"); 20 assertEq(strictEvalMutation("arguments[0] = 17; code"), "arguments[0] = 17; code"); 21 } 22 23 assertEq(arraysEqual(a1, ["code = 17; arguments"]), true); 24 assertEq(arraysEqual(a2, [17]), true);