diff options
author | Gaming4JC <g4jc@hyperbola.info> | 2019-06-08 18:45:02 -0400 |
---|---|---|
committer | Gaming4JC <g4jc@hyperbola.info> | 2019-07-18 22:38:21 -0400 |
commit | 9476f2e018856139f92e96e8e738bbbab615e67d (patch) | |
tree | b79082220b051c84437cbfd837040a1208726562 /js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js | |
parent | 2ea840b045e7db434d6960f72f5313b9621ffd03 (diff) | |
download | UXP-9476f2e018856139f92e96e8e738bbbab615e67d.tar UXP-9476f2e018856139f92e96e8e738bbbab615e67d.tar.gz UXP-9476f2e018856139f92e96e8e738bbbab615e67d.tar.lz UXP-9476f2e018856139f92e96e8e738bbbab615e67d.tar.xz UXP-9476f2e018856139f92e96e8e738bbbab615e67d.zip |
1175823 - Import test262 mapped arguments tests.
Diffstat (limited to 'js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js')
-rwxr-xr-x | js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js b/js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js new file mode 100755 index 000000000..dca0adcd2 --- /dev/null +++ b/js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js @@ -0,0 +1,28 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: Mapped arguments object with non-configurable property +description: > + Mapped arguments property is changed to non-configurable and + non-writable. Perform property attribute changes with two + [[DefineOwnProperty]] calls. Add intervening call to + SetMutableBinding. +flags: [noStrict] +---*/ + +function argumentsNonConfigurableThenNonWritableWithInterveningSetMutableBinding(a) { + Object.defineProperty(arguments, "0", {configurable: false}); + a = 2; + Object.defineProperty(arguments, "0", {writable: false}); + assert.sameValue(a, 2); + // `arguments[0] === 1` per ES2015, Rev 38, April 14, 2015 Final Draft. + // Specification bug: https://bugs.ecmascript.org/show_bug.cgi?id=4371 + assert.sameValue(arguments[0], 2); + + // Postcondition: Arguments mapping is removed. + a = 3; + assert.sameValue(a, 3); + assert.sameValue(arguments[0], 2); +} +argumentsNonConfigurableThenNonWritableWithInterveningSetMutableBinding(1); |