diff options
Diffstat (limited to 'dom/media/test/test_load_candidates.html')
-rw-r--r-- | dom/media/test/test_load_candidates.html | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/dom/media/test/test_load_candidates.html b/dom/media/test/test_load_candidates.html new file mode 100644 index 000000000..621f1e85b --- /dev/null +++ b/dom/media/test/test_load_candidates.html @@ -0,0 +1,84 @@ +<!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> |