/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ /* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ */ var c = 0; function f(a) { const b = a; try { eval('"use strict"; b = 1 + a; c = 1'); assertEq(0, 1); } catch (e) { assertEq(e.name, 'TypeError'); assertEq(0, c); assertEq(a, b); } } var w = 42; f(w); c = 2; try { eval('"use strict"; function g(x) { const y = x; y = 1 + x; } c = 3'); } catch (e) { assertEq(0, 1); } c = 4; try { eval('"use strict"; const z = w; z = 1 + w; c = 5'); assertEq(0, 1); } catch (e) { assertEq(e.name, 'TypeError'); assertEq(4, c); assertEq('z' in this, false); } reportCompare(0, 0, "ok");