regress-230216-3.js (1145B)
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 = 230216; 8 var summary = 'check for numerical overflow in regexps in back reference and bounds for {} quantifier'; 9 var actual = ''; 10 var expect = ''; 11 var status = ''; 12 13 printBugNumber(BUGNUMBER); 14 printStatus (summary); 15 16 status = inSection(1) + ' /((\3|b)\2(a)x)+/.exec("aaxabxbaxbbx") '; 17 18 actual = 'undefined'; 19 expect = ['ax', 'ax', '', 'a'] + ''; 20 21 try 22 { 23 actual = /((\3|b)\2(a)x)+/.exec("aaxabxbaxbbx") + ''; 24 } 25 catch(e) 26 { 27 status += ' Error: ' + e; 28 } 29 30 reportCompare(expect, actual, status); 31 32 status = inSection(2) + ' eval(\'/((\3|b)\2(a)x)+/.exec("aaxabxbaxbbx")\' '; 33 34 actual = 'undefined'; 35 expect = ['ax', 'ax', '', 'a'] + ''; 36 37 try 38 { 39 actual = eval('/((\\3|b)\\2(a)x)+/.exec("aaxabxbaxbbx")') + ''; 40 } 41 catch(e) 42 { 43 status += ' Error: ' + e; 44 } 45 46 reportCompare(expect, actual, status);