// |reftest| skip-if(!xulRuntime.shell) // // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ //----------------------------------------------------------------------------- var BUGNUMBER = 622646; var summary = "Shadowing an exception identifier in a catch block with a " + "|const| or |let| declaration should throw an error"; print(BUGNUMBER + ": " + summary); /************** * BEGIN TEST * **************/ options("strict"); function assertRedeclarationErrorThrown(expression) { try { evaluate(expression); throw new Error("Redeclaration error wasn't thrown"); } catch(e) { assertEq(e.message.indexOf("catch") > 0, true, "wrong error, got " + e.message); } } assertRedeclarationErrorThrown("try {} catch(e) { const e = undefined; }"); assertRedeclarationErrorThrown("try {} catch(e) { let e; }"); if (typeof reportCompare === "function") reportCompare(true, true);