| OLD | NEW | 
|---|
| 1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 348 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 359 | 359 | 
| 360 my_error = {}; | 360 my_error = {}; | 
| 361 Object.preventExtensions(my_error); | 361 Object.preventExtensions(my_error); | 
| 362 assertThrows(function() { Error.captureStackTrace(my_error); }); | 362 assertThrows(function() { Error.captureStackTrace(my_error); }); | 
| 363 | 363 | 
| 364 var fake_error = {}; | 364 var fake_error = {}; | 
| 365 my_error = new Error(); | 365 my_error = new Error(); | 
| 366 var stolen_getter = Object.getOwnPropertyDescriptor(my_error, 'stack').get; | 366 var stolen_getter = Object.getOwnPropertyDescriptor(my_error, 'stack').get; | 
| 367 Object.defineProperty(fake_error, 'stack', { get: stolen_getter }); | 367 Object.defineProperty(fake_error, 'stack', { get: stolen_getter }); | 
| 368 assertEquals(undefined, fake_error.stack); | 368 assertEquals(undefined, fake_error.stack); | 
|  | 369 | 
|  | 370 // Check that overwriting the stack property during stack trace formatting | 
|  | 371 // does not crash. | 
|  | 372 error = new Error(); | 
|  | 373 error.__defineGetter__("name", function() { error.stack = "abc"; }); | 
|  | 374 assertEquals("abc", error.stack); | 
|  | 375 | 
|  | 376 error = new Error(); | 
|  | 377 error.__defineGetter__("name", function() { delete error.stack; }); | 
|  | 378 assertEquals(undefined, error.stack); | 
|  | 379 | 
|  | 380 // Check that repeated trace collection does not crash. | 
|  | 381 error = new Error(); | 
|  | 382 Error.captureStackTrace(error); | 
| OLD | NEW | 
|---|