var re = /a(b)c/;

for (var i = 0; i < 10; i++) {
    // These two are of a form where we can convert exec() to test().
    if (!re.exec("abc")) print("huh?");
    re.exec("abc");
}

RegExp.prototype.test = 1;

for (var i = 0; i < 10; i++) {
    // These two are the same form, but we've replaced test(), so we must
    // not convert.
    if (!re.exec("abc")) print("huh?");     // don't crash/assert
    re.exec("abc");                         // don't crash/assert
}