<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=465458 --> <head> <title>Test for Bug 465458</title> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> <script type="text/javascript" src="manifest.js"></script> </head> <body> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=465458">Mozilla Bug 465458</a> <p id="display"></p> <div id="content" style="display: none"> </div> <pre id="test"> <script type="application/javascript"> /** Test for Bug 465458 **/ var manager = new MediaTestManager; function finish(evt) { var v = evt.target; is(v._error, 2, "Should have received 2 error events before loaded"); v._finished = true; // remove error event handler, because this would otherwise // cause a failure on Windows 7, see bug 1024535 v.onerror = null; v.parentNode.removeChild(v); manager.finished(v.token); } function errorHandler(evt) { evt.target.parentNode._error++; } var extension = { "audio/wav" : "wav", "audio/x-wav": "wav", "video/ogg" : "ogv", "audio/ogg" : "oga", "video/webm" : "webm" }; function startTest(test, token) { var v = document.createElement('video'); v.preload = "auto"; v.onerror = function(){ok(false,"Error events on source children should not bubble");} v.token = token; manager.started(token); v._error = 0; v._finished = false; v._name = test.name; var s1 = document.createElement("source"); s1.type = test.type; s1.src = "404." + extension[test.type]; s1.addEventListener("error", errorHandler, false); v.appendChild(s1); var s2 = document.createElement("source"); s2.type = test.type; s2.src = "test_load_candidates.html"; // definitely an invalid media file, regardless of its actual mime type... s2.addEventListener("error", errorHandler, false); v.appendChild(s2); var s3 = document.createElement("source"); s3.type = test.type; s3.src = test.name; v.appendChild(s3); v.addEventListener("loadeddata", finish, false); document.body.appendChild(v); } manager.runTests(gSmallTests, startTest); </script> </pre> </body> </html>