blob: 3b5a25f16197b1b209b4b971f86be2cb39f059be [file] [log] [blame]
<p>
This page tests what happens when a getter / setter on the window object conflicts
with another property or declared variable.
</p>
<pre id="console"></pre>
<script>
function log(s)
{
document.getElementById("console").appendChild(document.createTextNode(s + "\n"));
}
if (window.layoutTestController)
layoutTestController.dumpAsText();
var x = 1;
try {
window.__defineGetter__("x", function() { return "window.x __getter__"; });
} catch(e) { log(e); }
log("window.x is: " + window.x);
log("typeof window.__lookupGetter__(\"x\") is: " + typeof window.__lookupGetter__("x"));
try {
window.__defineSetter__("x", function() { log("window.x __setter__ called"); });
} catch(e) { log(e); }
x = 2;
log("window.x is: " + window.x);
log("typeof window.__lookupSetter__(\"x\") is: " + typeof window.__lookupGetter__("x"));
y = 1;
try {
window.__defineGetter__("y", function() { return "window.y __getter__"; });
} catch(e) { log(e); }
log("window.y is: " + window.y);
log("typeof window.__lookupGetter__(\"y\") is: " + typeof window.__lookupGetter__("y"));
try {
window.__defineSetter__("y", function() { log("window.y __setter__ called"); });
} catch(e) { log(e); }
y = 2;
log("window.y is: " + window.y);
log("typeof window.__lookupSetter__(\"y\") is: " + typeof window.__lookupGetter__("y"));
try {
window.__defineSetter__("z", function() { log("window.z __setter__ called"); });
} catch(e) { log(e); }
window.z = 1;
log("typeof window.__lookupSetter__(\"z\") is: " + typeof window.__lookupGetter__("z"));
</script>