Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Media test: media attribute for the source element.</title>
6 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
8 <script type="text/javascript" src="manifest.js"></script>
9 <script type="text/javascript" src="../../html/content/test/reflect.js"></script>
10 </head>
11 <body>
12 <pre id="test">
13 <script type="text/javascript">
14 var testCount = 0;
15 function notifyFinished() {
16 testCount++;
17 if (testCount == 2) {
18 SimpleTest.finish();
19 }
20 }
21 SimpleTest.waitForExplicitFinish();
23 reflectString({
24 element: document.createElement("source"),
25 attribute: "media",
26 });
28 var media = getPlayableVideo(gSmallTests);
30 if (media == null) {
31 todo(false, "No media supported.");
32 SimpleTest.finish();
33 } else {
34 var v = document.createElement('video');
35 v.preload = "auto";
36 v.innerHTML = "<source src=\"" + media.name + "?fail\" media=\"not all\">" +
37 "<source src=\""+ media.name + "?pass\" media=\"all\">";
38 var v2 = document.createElement("video");
39 v2.preload = "auto";
40 v2.innerHTML = "<source src=\""+ media.name +"?pass\">" +
41 "<source src=\""+ media.name + "?fail\" media=\"all\">";
42 document.body.appendChild(v);
43 document.body.appendChild(v2);
45 v.addEventListener("loadedmetadata", function(e) {
46 ok(/pass/.test(e.target.currentSrc),
47 "The source has been chosen according to the media attribute.");
48 notifyFinished();
49 });
50 v2.addEventListener("loadedmetadata", function(e) {
51 ok(/pass/.test(e.target.currentSrc),
52 "If no media attribute is specified, it defaults to \'all\'.")
53 notifyFinished();
54 });
55 }
57 </script>
58 </pre>
59 </body>
60 </html>