| 56 | // on a given Error object. Verify the produced string representation. |
| 57 | |
| 58 | function testErrorToString(nameValue, messageValue) { |
| 59 | var seq = []; |
| 60 | var e = { |
| 61 | get name() { |
| 62 | seq.push(1); |
| 63 | return (nameValue === undefined) ? nameValue : { |
| 64 | toString: function() { seq.push(2); return nameValue; } |
| 65 | }; |
| 66 | }, |
| 67 | get message() { |
| 68 | seq.push(3); |
| 69 | return (messageValue === undefined) ? messageValue : { |
| 70 | toString: function() { seq.push(4); return messageValue; } |
| 71 | }; |
| 72 | } |
| 73 | }; |
| 74 | var string = Error.prototype.toString.call(e); |
| 75 | return [string,seq]; |
| 76 | } |
| 77 | |
| 78 | assertEquals(["Error",[1,3]], testErrorToString(undefined, undefined)); |
| 79 | assertEquals(["e1",[1,2,3]], testErrorToString("e1", undefined)); |