test_bug28293.xhtml (1867B)
1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <!-- 3 https://bugzilla.mozilla.org/show_bug.cgi?id=28293 4 --> 5 <head> 6 <title>Test for Bug 28293</title> 7 <script src="/tests/SimpleTest/SimpleTest.js"></script> 8 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 9 <script> 10 scriptInsertedExternalExecuted = false; 11 res = 'A'; 12 13 SimpleTest.waitForExplicitFinish(); 14 onload = function () { 15 16 res+='2'; 17 18 s = document.createElement('script'); 19 s.textContent="res+='g';"; 20 s.defer = true; 21 document.body.appendChild(s); 22 23 res+='3'; 24 25 s = document.createElement('script'); 26 s.textContent="res+='i';done()"; 27 s.defer = true; 28 document.body.appendChild(s); 29 30 res+='4'; 31 } 32 33 function done() { 34 is(res, "AacBCDEFGeHIJb1M2g3i", "scripts executed in the wrong order"); 35 ok(scriptInsertedExternalExecuted, "Dynamic script did not block load"); 36 SimpleTest.finish(); 37 } 38 </script> 39 </head> 40 <body> 41 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=28293">Mozilla Bug 28293</a> 42 43 <script defer="defer"> 44 res += 'a'; 45 </script> 46 <script defer="defer" src="data:text/plain,res+='b'"></script> 47 <script defer="defer"> 48 res += 'c'; 49 </script> 50 <script> 51 res += 'B'; 52 </script> 53 <script> 54 res += 'C'; 55 56 s = document.createElement('script'); 57 s.textContent="res+='D';"; 58 document.body.appendChild(s); 59 60 res += 'E'; 61 </script> 62 <script> 63 res += 'F'; 64 document.addEventListener("DOMContentLoaded", function() { 65 res += '1' 66 s = document.createElement('script'); 67 s.src="file_bug28293.sjs?res+='M';"; 68 document.body.appendChild(s); 69 }); 70 res += 'G'; 71 </script> 72 <script defer="defer"> 73 res += 'e'; 74 </script> 75 <script src="file_bug28293.sjs?res+='H';"></script> 76 <script> 77 <![CDATA[ 78 res += 'I'; 79 s = document.createElement('script'); 80 s.src="file_bug28293.sjs?scriptInsertedExternalExecuted=true;"; 81 document.body.appendChild(s); 82 res += 'J'; 83 ]]> 84 </script> 85 86 </body> 87 </html>