diff options
Diffstat (limited to 'js/src/jit-test/tests/self-hosting/object-define-hazard.js')
-rw-r--r-- | js/src/jit-test/tests/self-hosting/object-define-hazard.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/self-hosting/object-define-hazard.js b/js/src/jit-test/tests/self-hosting/object-define-hazard.js new file mode 100644 index 000000000..7a1ccc224 --- /dev/null +++ b/js/src/jit-test/tests/self-hosting/object-define-hazard.js @@ -0,0 +1,18 @@ +// We shouldn't do the wrong thing in the face of an evil Object.prototype + +Object.prototype.get = function() {}; +var x = {}; +var setter = function () {}; +x.__defineSetter__("a", setter); +var desc = Object.getOwnPropertyDescriptor(x, "a"); +assertEq(desc.get, undefined); +assertEq(desc.set, setter); +delete Object.prototype.get; + +Object.prototype.set = function() {}; +x = {}; +var getter = function () {}; +x.__defineGetter__("a", getter); +desc = Object.getOwnPropertyDescriptor(x, "a"); +assertEq(desc.set, undefined); +assertEq(desc.get, getter); |