| 277 | } |
| 278 | |
| 279 | function TestGetThrow2(create, handler) { |
| 280 | var p = create(handler) |
| 281 | assertThrowsEquals(function(){ p.a }, "myexn") |
| 282 | assertThrowsEquals(function(){ p["b"] }, "myexn") |
| 283 | assertThrowsEquals(function(){ p[3] }, "myexn") |
| 284 | assertThrowsEquals(function(){ (function(n) { p[n] })("c") }, "myexn") |
| 285 | assertThrowsEquals(function(){ (function(n) { p[n] })(99) }, "myexn") |
| 286 | |
| 287 | var o = Object.create(p, {x: {value: 88}, '4': {value: 89}}) |
| 288 | assertThrowsEquals(function(){ o.a }, "myexn") |
| 289 | assertThrowsEquals(function(){ o["b"] }, "myexn") |
| 290 | assertThrowsEquals(function(){ o[3] }, "myexn") |
| 291 | assertThrowsEquals(function(){ (function(n) { o[n] })("c") }, "myexn") |
| 292 | assertThrowsEquals(function(){ (function(n) { o[n] })(99) }, "myexn") |
| 293 | } |
| 294 | |
| 295 | TestGetThrow({ |
| 296 | get(r, k) { throw "myexn" } |