diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/setelem-proto.js')
-rw-r--r-- | js/src/jit-test/tests/ion/setelem-proto.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/setelem-proto.js b/js/src/jit-test/tests/ion/setelem-proto.js new file mode 100644 index 000000000..d24e2e514 --- /dev/null +++ b/js/src/jit-test/tests/ion/setelem-proto.js @@ -0,0 +1,26 @@ +var a = [1, 2, 3, 4]; +var count = 0; + +function f(arr, i) { + arr[2] = i; +} + +for (var i=0; i<80; i++) { + f(a, i); + assertEq(a[2], i); +} + +delete a[2]; +f(a, 50); +assertEq(a[2], 50); + +Object.defineProperty(Object.prototype, "2", { + set: function() { count++; } +}); +delete a[2]; + +f(a, 100); +f(a, 100); + +assertEq(a[2], undefined); +assertEq(count, 2); |