test_bug462428.html (1439B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=462428 5 --> 6 <head> 7 <title>Test for Bug 462428</title> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 10 </head> 11 <body> 12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=462428">Mozilla Bug 462428</a> 13 <p id="display"></p> 14 <div id="content" style="display: none"> 15 16 </div> 17 <pre id="test"> 18 <script type="application/javascript"> 19 20 /** Test for Bug 462428 **/ 21 var getter = document.__lookupGetter__('documentElement'); 22 ok(getter !== undefined, "But able to look it up the normal way"); 23 ok(!document.hasOwnProperty('documentElement'), "property should still be on the prototype"); 24 25 var sawProp = false; 26 for (var i in document) { 27 if (i === "documentElement") { 28 sawProp = true; 29 } 30 } 31 32 ok(sawProp, "property should be enumerable"); 33 34 is(getter.call(document), document.documentElement, "the getter actually works"); 35 36 Document.prototype.__defineSetter__('documentElement', function() {}); 37 is(getter.call(document), document.documentElement, "the getter works after defineSetter"); 38 39 var oldTitle = document.title; 40 try { 41 var setter = document.__lookupSetter__('title'); 42 setter.call(document, "title 1"); 43 is(document.title, "title 1", "the setter is bound correctly"); 44 } finally { 45 document.title = oldTitle 46 } 47 48 </script> 49 </pre> 50 </body> 51 </html>