function assert(actual, expected) { | |
if (actual != expected) | |
throw("FAILED: actual " + actual + ", expected " + expected); | |
} | |
Object.defineProperty(this, "t0", { | |
get: function() { | |
"use strict"; | |
return t2.subarray(4, 7); | |
} | |
}); | |
t2 = new Uint16Array(); | |
var exception; | |
function test() { | |
exception = void 0; | |
try { | |
return t0; | |
} catch (e) { | |
exception = e; | |
} | |
} | |
for (var i = 0; i < 100; ++i) { | |
test(); | |
assert(exception, void 0); | |
} | |
t2.__proto__ = { | |
subarray: 1 | |
}; | |
test(); | |
assert(exception, "TypeError: t2.subarray is not a function. (In 't2.subarray(4, 7)', 't2.subarray' is 1)"); | |
test(); | |
assert(exception, "TypeError: t2.subarray is not a function. (In 't2.subarray(4, 7)', 't2.subarray' is 1)"); |