// Test that removal of leading or trailing .* from RegExp test() calls // does not affect lastMatch or other RegExpStatics info. function first(input) { var re = /.*b(cd)/; for (var i = 0; i < 10; i++) re.test(input); } first("1234\nabcdefg\n1234"); assertEq(RegExp.lastMatch, "abcd"); assertEq(RegExp.$1, "cd"); assertEq(RegExp.input, "1234\nabcdefg\n1234"); assertEq(RegExp.leftContext, "1234\n"); assertEq(RegExp.rightContext, "efg\n1234"); assertEq(RegExp.lastParen, "cd"); // Test that removal of leading or trailing .* from RegExp test() calls // does not affect lastMatch or other RegExpStatics info. function second(input) { var re = /bcd.*/; for (var i = 0; i < 10; i++) re.test(input); } second("1234\nabcdefg\n1234"); assertEq(RegExp.lastMatch, "bcdefg"); assertEq(RegExp.$1, ""); assertEq(RegExp.input, "1234\nabcdefg\n1234"); assertEq(RegExp.leftContext, "1234\na"); assertEq(RegExp.rightContext, "\n1234"); assertEq(RegExp.lastParen, ""); function third(input) { var re = /.*bcd.*/; for (var i = 0; i < 10; i++) re.test(input); } third("1234\nabcdefg\n1234"); assertEq(RegExp.lastMatch, "abcdefg"); assertEq(RegExp.$1, ""); assertEq(RegExp.input, "1234\nabcdefg\n1234"); assertEq(RegExp.leftContext, "1234\n"); assertEq(RegExp.rightContext, "\n1234"); assertEq(RegExp.lastParen, "");