summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/arguments/testDelArg3Strict.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/arguments/testDelArg3Strict.js')
-rw-r--r--js/src/jit-test/tests/arguments/testDelArg3Strict.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/arguments/testDelArg3Strict.js b/js/src/jit-test/tests/arguments/testDelArg3Strict.js
new file mode 100644
index 000000000..77d247a4d
--- /dev/null
+++ b/js/src/jit-test/tests/arguments/testDelArg3Strict.js
@@ -0,0 +1,44 @@
+"use strict";
+
+function assertGood(x) {
+ assertEq(x, "good");
+}
+
+(function() {
+ var a = arguments;
+ return function() {
+ assertGood.apply(null, a);
+ }
+})("good")();
+
+(function() {
+ var a = arguments;
+ return function() {
+ a[0] = "good";
+ assertGood.apply(null, a);
+ }
+})("bad")();
+
+Object.prototype[0] = "good";
+
+(function() {
+ var a = arguments;
+ return function() {
+ delete a[0];
+ assertGood.apply(null, a);
+ }
+})("bad")();
+
+delete Object.prototype[0];
+
+function assertUndefined(x) {
+ assertEq(x, undefined);
+}
+
+(function() {
+ var a = arguments;
+ return function() {
+ a[0] = "bad";
+ assertUndefined.apply(null, a);
+ }
+})()();