test_bug557087-5.html (2507B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=557087 5 --> 6 <head> 7 <title>Test for Bug 557087</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=557087">Mozilla Bug 557087</a> 13 <p id="display"></p> 14 <div id="content"> 15 <iframe name='t'></iframe> 16 <form target='t' action="dummy_page.html"> 17 <fieldset disabled> 18 <fieldset> 19 <input name='i' value='i'> 20 <textarea name='t'>t</textarea> 21 <select name='s'><option>s</option></select> 22 </fieldset> 23 </fieldset> 24 </form> 25 </div> 26 <pre id="test"> 27 <script type="application/javascript"> 28 29 /** Test for Bug 557087 */ 30 31 SimpleTest.waitForExplicitFinish(); 32 addLoadEvent(runTest); 33 34 const BASE_URI = `${location.origin}/tests/dom/html/test/dummy_page.html`; 35 var testResults = [ 36 BASE_URI + "?", 37 BASE_URI + "?", 38 BASE_URI + "?i=i&t=t&s=s", 39 BASE_URI + "?i=i&t=t&s=s", 40 ]; 41 var gTestCount = 0; 42 43 var form = document.forms[0]; 44 var iframe = document.getElementsByTagName('iframe')[0]; 45 var fieldsets = document.getElementsByTagName('fieldset'); 46 47 function runTest() 48 { 49 iframe.addEventListener("load", function() { 50 is(iframe.contentWindow.location.href, testResults[gTestCount], 51 testResults[gTestCount] + " should have been loaded"); 52 53 switch (++gTestCount) { 54 case 1: 55 fieldsets[1].disabled = true; 56 fieldsets[0].disabled = false; 57 form.submit(); 58 SimpleTest.executeSoon(function() { 59 form.submit() 60 }); 61 break; 62 case 2: 63 fieldsets[0].disabled = false; 64 fieldsets[1].disabled = false; 65 SimpleTest.executeSoon(function() { 66 form.submit() 67 }); 68 break; 69 case 3: 70 // Elements inside the first legend of a disabled fieldset are submittable. 71 fieldsets[0].disabled = true; 72 fieldsets[1].disabled = true; 73 var legend = document.createElement("legend"); 74 fieldsets[0].appendChild(legend); 75 while (fieldsets[1].firstChild) { 76 legend.appendChild(fieldsets[1].firstChild); 77 } 78 SimpleTest.executeSoon(function() { 79 form.submit() 80 }); 81 break; 82 default: 83 iframe.removeEventListener("load", arguments.callee); 84 SimpleTest.executeSoon(SimpleTest.finish); 85 } 86 }); 87 88 form.submit(); 89 } 90 91 </script> 92 </pre> 93 </body> 94 </html>