// Test various ways of changing the behavior of |typedArray.length|. function addLengthProperty() { var x = new Uint16Array(); Object.defineProperty(x, "length", {value:1}); for (var i = 0; i < 5; i++) assertEq(x.length, 1); } addLengthProperty(); function changePrototype() { var x = new Uint16Array(); x.__proto__ = [0]; for (var i = 0; i < 5; i++) assertEq(x.length, 1); } changePrototype(); function redefineLengthProperty() { var x = new Uint16Array(); Object.defineProperty(Uint16Array.prototype, "length", {value:1}); for (var i = 0; i < 5; i++) assertEq(x.length, 1); } redefineLengthProperty();