test_form_named_getter_dynamic.html (1674B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=377413 5 --> 6 <head> 7 <title>Test for Bug 377413</title> 8 <script type="text/javascript" src="/resources/testharness.js"></script> 9 <link rel='stylesheet' href='/resources/testharness.css'> 10 <script type="text/javascript" src="/resources/testharnessreport.js"></script> 11 </head> 12 <body> 13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=377413">Mozilla Bug 377413</a> 14 <p id="log"></p> 15 <div id="content"> 16 <form> 17 <table> 18 <tbody> 19 </tbody> 20 </table> 21 </form> 22 </div> 23 24 <script type="text/javascript"> 25 26 /** Tests for Bug 377413 */ 27 var tb = document.getElementsByTagName('tbody')[0]; 28 29 test(function(){ 30 tb.innerHTML = '<tr><td><input name="fooboo"></td></tr>'; 31 document.forms[0].fooboo.value = 'testme'; 32 document.getElementsByTagName('table')[0].deleteRow(0); 33 assert_equals(document.forms[0].fooboo, undefined); 34 }, "no element reference after deleting it with deleteRow()"); 35 36 test(function(){ 37 var b = tb.appendChild(document.createElement('tr')).appendChild(document.createElement('td')).appendChild(document.createElement('button')); 38 b.name = b.value = 'boofoo'; 39 assert_equals(document.forms[0].elements[0].value, 'boofoo'); 40 }, 'element value set correctly'); 41 42 test(function(){ 43 assert_true('boofoo' in document.forms[0]); 44 }, 'element name has created property on form'); 45 46 test(function(){ 47 tb.innerHTML = ''; 48 assert_false('boofoo' in document.forms[0]); 49 }, "no element reference after deleting it by setting innerHTML"); 50 51 52 </script> 53 </body> 54 </html>