regress-313276.js (994B)
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 = 313276; 8 var summary = 'Root strings'; 9 var actual = 'No Crash'; 10 var expect = 'No Crash'; 11 12 printBugNumber(BUGNUMBER); 13 printStatus (summary); 14 15 var obj = { 16 toString: function() { 17 return "*TEST*".substr(1, 4); 18 } 19 }; 20 21 var TMP = 1e200; 22 23 var likeZero = { 24 valueOf: function() { 25 if (typeof gc == "function") gc(); 26 for (var i = 0; i != 40000; ++i) { 27 var tmp = 2 / TMP; 28 tmp = null; 29 } 30 return 0; 31 } 32 } 33 34 expect = "TEST"; 35 actual = String.prototype.substr.call(obj, likeZero); 36 37 printStatus("Substring length: "+actual.length); 38 printStatus((expect === actual).toString()); 39 40 reportCompare(expect, actual, summary);