summaryrefslogtreecommitdiffstats
path: root/dom/media/test/test_load_candidates.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dom/media/test/test_load_candidates.html84
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 0000000000..2bc1eb531b
--- /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 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.remove();
+ 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);
+ 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);
+ v.appendChild(s2);
+
+ var s3 = document.createElement("source");
+ s3.type = test.type;
+ s3.src = test.name;
+ v.appendChild(s3);
+
+ v.addEventListener("loadeddata", finish);
+ document.body.appendChild(v);
+}
+
+manager.runTests(gSmallTests, startTest);
+
+</script>
+</pre>
+</body>
+</html>