regress-234389.js (944B)
1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 //----------------------------------------------------------------------------- 7 var BUGNUMBER = 234389; 8 var summary = 'Do not Crash when overloaded toString causes infinite recursion'; 9 var actual = '' 10 var expect = 'Internal Error: too much recursion'; 11 12 printBugNumber(BUGNUMBER); 13 printStatus (summary); 14 15 var foo = { 16 toString: function() { 17 if (this.re.test(this)) { 18 return ""; 19 } 20 return this.value; 21 }, 22 23 value: "foo", 24 25 re: /bar/ 26 }; 27 28 try 29 { 30 var f = foo.toString(); 31 expect = 'No Crash'; 32 actual = 'No Crash'; 33 } 34 catch(ex) 35 { 36 expect = 'InternalError: too much recursion'; 37 actual = ex.name + ': ' + ex.message; 38 } 39 reportCompare(expect, actual, summary);