| function shouldThrow(func, message) { |
| throw new Error("not thrown."); |
| if (String(error) !== message) |
| throw new Error("bad error: " + String(error)); |
| var array = new Array(10); |
| for (var i = 0; i < 10; ++i) { |
| Object.defineProperty(Array.prototype, index, { |
| throw new Error('get is called.' + index); |
| throw new Error('set is called.' + index); |
| // No error, but all seenOnce becomes true. |
| // Ensures that all setter is called once. |
| for (var i = 0; i < 10; ++i) { |
| shouldThrow(function () { |
| }, "Error: set is called." + i); |