<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=28293 --> <head> <title>Test for Bug 28293</title> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> <script> scriptInsertedExternalExecuted = false; res = 'A'; SimpleTest.waitForExplicitFinish(); onload = function () { res+='2'; s = document.createElement('script'); s.textContent="res+='g';"; s.defer = true; document.body.appendChild(s); res+='3'; s = document.createElement('script'); s.textContent="res+='i';done()"; s.defer = true; document.body.appendChild(s); res+='4'; } function done() { is(res, "AacBCDEFGeHIJb1M2g3i", "scripts executed in the wrong order"); ok(scriptInsertedExternalExecuted, "Dynamic script did not block load"); SimpleTest.finish(); } </script> </head> <body> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=28293">Mozilla Bug 28293</a> <script defer> res += 'a'; </script> <script defer src="data:text/plain,res+='b'"></script> <script defer> res += 'c'; </script> <script> res += 'B'; </script> <script> res += 'C'; s = document.createElement('script'); s.textContent="res+='D';"; document.body.appendChild(s); res += 'E'; </script> <script> res += 'F'; document.addEventListener("DOMContentLoaded", function() { res += '1' s = document.createElement('script'); s.src="file_bug28293.sjs?res+='M';"; document.body.appendChild(s); }, false); res += 'G'; </script> <script defer> res += 'e'; </script> <script src="file_bug28293.sjs?res+='H';"></script> <script> res += 'I'; s = document.createElement('script'); s.src="file_bug28293.sjs?scriptInsertedExternalExecuted=true;"; document.body.appendChild(s); res += 'J'; </script> </body> </html>