function test() { | |
try { | |
RegExp.prototype.exec(); return false; | |
} catch(e) {} | |
try { | |
Date.prototype.valueOf(); return false; | |
} catch(e) {} | |
if (![Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError].every(function (E) { | |
return Object.prototype.toString.call(E.prototype) === '[object Object]'; | |
})) { | |
return false; | |
} | |
return true; | |
} | |
if (!test()) | |
throw new Error("Test failed"); | |