| // This file tests is concat spreadable. |
| if (a.length !== b.length) |
| for (let i = 0; i < a.length; i++) { |
| let {proxy:p, revoke} = Proxy.revocable(array, { get : function(o, k) { return o[k]; } }); |
| // Test it works with proxies by default |
| for (let i = 0; i < 100000; i++) { |
| if (!arrayEq(Array.prototype.concat.call(p,p), [1,2,3,1,2,3])) |
| throw "failed normally with a proxy" |
| // Test it works with spreadable false. |
| p[Symbol.isConcatSpreadable] = false; |
| for (let i = 0; i < 100000; i++) { |
| if (!arrayEq(Array.prototype.concat.call(p,p), [p,p])) |
| throw "failed with no spread" |
| p[Symbol.isConcatSpreadable] = undefined; |
| Array.prototype.concat.call(p,[]); |
| throw "failed to throw spreading revoked proxy"; |