1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/js1_8_5/regress/regress-576847.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,19 @@ 1.4 +/* 1.5 + * Any copyright is dedicated to the Public Domain. 1.6 + * http://creativecommons.org/licenses/publicdomain/ 1.7 + */ 1.8 + 1.9 +/* Don't crash. */ 1.10 +try { 1.11 + eval("function f(){}(((f)for(x in function(){}))())"); 1.12 + var threwTypeError = false; 1.13 +} catch (x) { 1.14 + var threwTypeError = x instanceof TypeError; 1.15 +} 1.16 +assertEq(threwTypeError, true); 1.17 + 1.18 +/* Properly bind f. */ 1.19 +assertEq(eval("function f() {}; var i = (f for (f in [1])); uneval([n for (n in i)])"), 1.20 + '["0"]'); 1.21 + 1.22 +reportCompare(true, true);