 Chromium Code Reviews
 Chromium Code Reviews Issue 10388208:
  Add test case for custom error's toString.  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
    
  
    Issue 10388208:
  Add test case for custom error's toString.  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge| OLD | NEW | 
|---|---|
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright | 
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. | 
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above | 
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following | 
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided | 
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 76 } | 76 } | 
| 77 | 77 | 
| 78 assertEquals(["Error",[1,3]], testErrorToString(undefined, undefined)); | 78 assertEquals(["Error",[1,3]], testErrorToString(undefined, undefined)); | 
| 79 assertEquals(["e1",[1,2,3]], testErrorToString("e1", undefined)); | 79 assertEquals(["e1",[1,2,3]], testErrorToString("e1", undefined)); | 
| 80 assertEquals(["e1: null",[1,2,3,4]], testErrorToString("e1", null)); | 80 assertEquals(["e1: null",[1,2,3,4]], testErrorToString("e1", null)); | 
| 81 assertEquals(["e1",[1,2,3,4]], testErrorToString("e1", "")); | 81 assertEquals(["e1",[1,2,3,4]], testErrorToString("e1", "")); | 
| 82 assertEquals(["Error: e2",[1,3,4]], testErrorToString(undefined, "e2")); | 82 assertEquals(["Error: e2",[1,3,4]], testErrorToString(undefined, "e2")); | 
| 83 assertEquals(["null: e2",[1,2,3,4]], testErrorToString(null, "e2")); | 83 assertEquals(["null: e2",[1,2,3,4]], testErrorToString(null, "e2")); | 
| 84 assertEquals(["e2",[1,2,3,4]], testErrorToString("", "e2")); | 84 assertEquals(["e2",[1,2,3,4]], testErrorToString("", "e2")); | 
| 85 assertEquals(["e1: e2",[1,2,3,4]], testErrorToString("e1", "e2")); | 85 assertEquals(["e1: e2",[1,2,3,4]], testErrorToString("e1", "e2")); | 
| 86 | |
| 87 | |
| 88 // Test that a custom error object does not use Error.prototype.toString. | |
| 89 | |
| 90 function MyError(name, message) { | |
| 91 this.name = name; | |
| 92 this.message = message; | |
| 93 } | |
| 94 | |
| 95 MyError.prototype = Object.create(Error.prototype); | |
| 96 MyError.prototype.toString = function() { | |
| 97 return 'MyError toString'; | |
| 98 }; | |
| 99 | |
| 100 try { | |
| 101 throw new MyError('name', 'message'); | |
| 102 } catch (e) { | |
| 103 assertEquals('MyError toString', e.toString()); | |
| 
arv (Not doing code reviews)
2012/05/21 16:40:03
I don't think this tests the right thing. This jus
 | |
| 104 } | |
| OLD | NEW |