PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[0] = 42); })(0, 1, 2, 3); is 42 PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[0] = 42); })(0, 1, 2, 3); is 42 PASS true === true PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[0]); })(0, 1, 2, 3); is true PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[0]); })(0, 1, 2, 3); is true PASS true === true PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[1] = 42); })(0, 1, 2, 3); threw exception of type TypeError. PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[1] = 42); })(0, 1, 2, 3); is 42 PASS true === true PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[1]); })(0, 1, 2, 3); is true PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[1]); })(0, 1, 2, 3); is true PASS true === true PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[2] = 42); })(0, 1, 2, 3); is 42 PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[2] = 42); })(0, 1, 2, 3); is 42 PASS true === true PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[2]); })(0, 1, 2, 3); threw exception of type TypeError. PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[2]); })(0, 1, 2, 3); is false PASS true === true PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[3] = 42); })(0, 1, 2, 3); threw exception of type TypeError. PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (arguments[3] = 42); })(0, 1, 2, 3); is 42 PASS true === true PASS 'use strict'; (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[3]); })(0, 1, 2, 3); threw exception of type TypeError. PASS (function f() { Object.defineProperties(arguments, {1: { writable: false }, 2: { configurable: false }, 3: { writable: false, configurable: false }}); return (delete arguments[3]); })(0, 1, 2, 3); is false PASS true === true PASSED! PASS successfullyParsed is true TEST COMPLETE