1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// throw, don't crash var actual = ""; try { var x = new Proxy({}, { defineProperty: function(target, name, desc) { Object.defineProperty(x, name, desc) }, }); Object.defineProperty(x, "", ({ get: function() {} })) } catch (e) { actual = '' + e; } assertEq(actual, "InternalError: too much recursion");