var BUGNUMBER = 1168416; var summary = "Regexp.prototype.test/exec shouldn't change lastIndex if not writable."; print(BUGNUMBER + ": " + summary); var regex = /0/g; Object.freeze(regex); var str = "abc000"; var desc = Object.getOwnPropertyDescriptor(regex, "lastIndex"); assertEq(desc.writable, false); assertEq(desc.value, 0); assertThrowsInstanceOf(() => regex.test(str), TypeError); desc = Object.getOwnPropertyDescriptor(regex, "lastIndex"); assertEq(desc.writable, false); assertEq(desc.value, 0); assertThrowsInstanceOf(() => regex.exec(str), TypeError); desc = Object.getOwnPropertyDescriptor(regex, "lastIndex"); assertEq(desc.writable, false); assertEq(desc.value, 0); if (typeof reportCompare === "function") reportCompare(true, true);