summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2019-06-08 18:45:02 -0400
committerGaming4JC <g4jc@hyperbola.info>2019-07-18 22:38:21 -0400
commit9476f2e018856139f92e96e8e738bbbab615e67d (patch)
treeb79082220b051c84437cbfd837040a1208726562 /js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js
parent2ea840b045e7db434d6960f72f5313b9621ffd03 (diff)
downloadUXP-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-4.js')
-rwxr-xr-xjs/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js b/js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js
new file mode 100755
index 000000000..80d56fe1c
--- /dev/null
+++ b/js/src/tests/test262/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js
@@ -0,0 +1,25 @@
+// 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 [[Set]].
+flags: [noStrict]
+---*/
+
+function argumentsNonConfigurableThenNonWritableWithInterveningSet(a) {
+ Object.defineProperty(arguments, "0", {configurable: false});
+ arguments[0] = 2;
+ Object.defineProperty(arguments, "0", {writable: false});
+ assert.sameValue(a, 2);
+ assert.sameValue(arguments[0], 2);
+
+ // Postcondition: Arguments mapping is removed.
+ a = 3;
+ assert.sameValue(a, 3);
+ assert.sameValue(arguments[0], 2);
+}
+argumentsNonConfigurableThenNonWritableWithInterveningSet(1);