diff options
Diffstat (limited to 'dom/media/test/test_standalone.html')
-rw-r--r-- | dom/media/test/test_standalone.html | 63 |
1 files changed, 24 insertions, 39 deletions
diff --git a/dom/media/test/test_standalone.html b/dom/media/test/test_standalone.html index 620878a394..3b61f66d0a 100644 --- a/dom/media/test/test_standalone.html +++ b/dom/media/test/test_standalone.html @@ -6,56 +6,41 @@ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> <script type="text/javascript" src="manifest.js"></script> </head> -<body onload="doTest()"> - -<pre id="test"> <script class="testbody" type="text/javascript"> -var iframes = []; - -for (let i=0; i<gSmallTests.length; ++i) { - var test = gSmallTests[i]; +// Test whether video can be played correctly in a video document +add_task(async function testStandAloneVideoDocument() { + for (let i=0; i<gSmallTests.length; ++i) { + const test = gSmallTests[i]; - // We can't play WAV files in stand alone documents, so just don't - // run the test on non-video content types. - var tag = getMajorMimeType(test.type); - if (tag != "video" || !document.createElement("video").canPlayType(test.type)) - continue; + // We can't play WAV files in stand alone documents, so just don't + // run the test on non-video content types. + if (getMajorMimeType(test.type) != "video" || + !document.createElement("video").canPlayType(test.type)) { + continue; + } - let f = document.createElement("iframe"); - f.src = test.name; - f._test = test; - f.id = "frame" + i; - iframes.push(f); - document.body.appendChild(f); -} + let f = document.createElement("iframe"); + f.src = test.name; + document.body.appendChild(f); + info(`waiting iframe loading ${test.name}`); + await new Promise(r => f.onload = r); -function filename(uri) { - return uri.substr(uri.lastIndexOf("/")+1); -} - -function doTest() -{ - for (let i=0; i<iframes.length; ++i) { - let f = document.getElementById(iframes[i].id); - var v = f.contentDocument.body.firstChild; + const v = f.contentDocument.body.firstChild; is(v.tagName.toLowerCase(), "video", "Is video element"); - var src = filename(v.currentSrc); - is(src, iframes[i]._test.name, "Name ("+src+") should match ("+iframes[i]._test.name+")"); - is(v.controls, true, "Controls set (" + src + ")"); - is(v.autoplay, true, "Autoplay set (" + src + ")"); + const src = filename(v.currentSrc); + is(src, test.name, `Name (${src}) should match (${test.name})`); + is(v.controls, true, `Controls set (${src})`); + is(v.autoplay, true, `Autoplay set (${src})`); } - SimpleTest.finish(); -} +}); -if (!iframes.length) { - todo(false, "No types supported"); -} else { - SimpleTest.waitForExplicitFinish(); +// Helper function +function filename(uri) { + return uri.substr(uri.lastIndexOf("/")+1); } </script> -</pre> </body> </html> |