Bug 1286722: [MSE] P2. Add mochitests for event handler attributes. r=gerald

MozReview-Commit-ID: HTJgziOHcbW

--HG--
extra : rebase_source : 9a001429cd3b1875ca1d88417c7b08f643582f63
This commit is contained in:
Jean-Yves Avenard 2016-07-14 18:27:18 +10:00
Родитель 01308240dd
Коммит 35a36f0344
2 изменённых файлов: 66 добавлений и 0 удалений

Просмотреть файл

@ -82,6 +82,7 @@ skip-if = ((os == "win" && os_version == "5.1") || (toolkit == 'android')) # Not
[test_MultipleInitSegments.html]
[test_MultipleInitSegments_mp4.html]
skip-if = ((os == "win" && os_version == "5.1") || (toolkit == 'android')) # Not supported on xp and android 2.3
[test_OnEvents.html]
[test_PlayEvents.html]
skip-if = ((os == "win" && os_version == "5.1") || (toolkit == 'android')) # Not supported on xp and android 2.3
[test_ResumeAfterClearing_mp4.html]

Просмотреть файл

@ -0,0 +1,65 @@
<!DOCTYPE HTML>
<html>
<head>
<title>MSE: live seekable range</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="mediasource.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
runWithMSE(function (ms, v) {
function initEvent(e) {
v['got' + e] = false;
}
function receiveEvent(e) {
v['got' + e] = true;
}
var msevents = ["onsourceopen", "onsourceended"];
msevents.forEach(function(e) {
initEvent(e);
ms[e] = function() { receiveEvent(e); };
});
var sblistevents = ["onaddsourcebuffer", "onremovesourcebuffer"];
sblistevents.forEach(function(e) {
initEvent(e);
ms.sourceBuffers[e] = function() { receiveEvent(e); };
});
ms.addEventListener("sourceopen", function () {
var sb = ms.addSourceBuffer("video/webm");
var sbevents = ["onupdatestart", "onupdate", "onupdateend", "onabort"];
sbevents.forEach(function(e) {
initEvent(e);
sb[e] = function() { receiveEvent(e); };
});
fetchAndLoad(sb, 'seek', [''], '.webm')
.then(function() {
fetchWithXHR('seek.webm')
.then(function(arrayBuffer) {
sb.appendBuffer(arrayBuffer);
ms.removeSourceBuffer(sb); // will fire abort and removesourcebuffer
ms.endOfStream(); // will fire sourceended
once(ms, "sourceended").then(function() {
var events = ["onsourceopen", "onsourceended", "onupdatestart", "onupdate", "onupdateend", "onabort", "onaddsourcebuffer", "onremovesourcebuffer"];
events.forEach(function(e) {
ok(v['got' + e], "got " + e);
});
SimpleTest.finish();
});
});
});
});
});
</script>
</pre>
</body>
</html>