(callTrap)
| 215 | // Throwing from call trap. |
| 216 | |
| 217 | function TestCallThrow(callTrap) { |
| 218 | var f = new Proxy(()=>{}, {apply: callTrap}) |
| 219 | assertThrowsEquals(() => f(11), "myexn") |
| 220 | assertThrowsEquals(() => ({x: f}).x(11), "myexn") |
| 221 | assertThrowsEquals(() => ({x: f})["x"](11), "myexn") |
| 222 | assertThrowsEquals(() => Function.prototype.call.call(f, {}, 2), "myexn") |
| 223 | assertThrowsEquals(() => Function.prototype.apply.call(f, {}, [1]), "myexn") |
| 224 | assertThrowsEquals(() => %Call(f, {}), "myexn") |
| 225 | assertThrowsEquals(() => %Call(f, {}, 1, 2), "myexn") |
| 226 | |
| 227 | var f = Object.freeze(new Proxy(()=>{}, {apply: callTrap})) |
| 228 | assertThrowsEquals(() => f(11), "myexn") |
| 229 | assertThrowsEquals(() => ({x: f}).x(11), "myexn") |
| 230 | assertThrowsEquals(() => ({x: f})["x"](11), "myexn") |
| 231 | assertThrowsEquals(() => Function.prototype.call.call(f, {}, 2), "myexn") |
| 232 | assertThrowsEquals(() => Function.prototype.apply.call(f, {}, [1]), "myexn") |
| 233 | assertThrowsEquals(() => %Call(f, {}), "myexn") |
| 234 | assertThrowsEquals(() => %Call(f, {}, 1, 2), "myexn") |
| 235 | } |
| 236 | |
| 237 | TestCallThrow(function() { throw "myexn" }) |
| 238 | TestCallThrow(new Proxy(() => {throw "myexn"}, {})) |
no test coverage detected
searching dependent graphs…