constAssignError.js (1295B)
1 // Can't assign to const is a runtime TypeError 2 3 load(libdir + 'asserts.js'); 4 5 function assertTypeError(str) { 6 assertThrowsInstanceOf(function () { eval(str); }, TypeError); 7 } 8 9 assertTypeError("(function() { const x = 3; (() => x++)(); return x })()"); 10 assertTypeError("(function() { const x = 3; (() => x++)(); return x++ })()"); 11 assertTypeError("(function() { const x = 2; (() => x++)(); return ++x })()"); 12 assertTypeError("(function() { const x = 2; (() => x++)(); return x += 1 })()"); 13 14 assertTypeError("(function() { const x = 3; x = 1; return (function() { return x})() })()"); 15 assertTypeError("(function() { const x = 3; x = 1; return (function() { return x})() })()"); 16 assertTypeError("(function() { const x = 3; x++; return (function() { return x})() })()"); 17 assertTypeError("(function() { const x = 3; ++x; return (function() { return x})() })()"); 18 assertTypeError("(function() { const x = 3; x--; return (function() { return x})() })()"); 19 assertTypeError("(function() { const x = 3; --x; return (function() { return x})() })()"); 20 assertTypeError("(function() { const x = 3; x += 1; return (function() { return x})() })()"); 21 assertTypeError("(function() { const x = 3; x -= 1; return (function() { return x})() })()"); 22 23 assertTypeError("(function() { const x = 3; [x] = [1]; })()");