Update web-platform-tests to revision 87398b8448f699e3e324148795891658f2fa16dd

This commit is contained in:
Ms2ger 2015-06-30 12:54:31 +02:00
parent 836463b9e0
commit 3fb5197361
72 changed files with 1293 additions and 348 deletions

View file

@ -9,14 +9,51 @@
<body>
<div id="log"></div>
<script>
var video = document.createElement('video');
test(function() {
async_test(function(t) {
var mediaSource = new MediaSource();
var url = window.URL.createObjectURL(mediaSource);
window.URL.revokeObjectURL(url);
mediaSource.addEventListener('sourceopen',
t.unreached_func("url should not reference MediaSource."));
var video = document.createElement('video');
video.src = url;
assert_equals(mediaSource.readyState, 'closed');
video.addEventListener('error', t.step_func_done(function(e) {
assert_equals(e.target.error.code,
MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED,
'Expected error code');
assert_equals(mediaSource.readyState, 'closed');
}));
}, "Check revoking behavior of URL.revokeObjectURL(url).");
async_test(function(t) {
var mediaSource = new MediaSource();
var url = window.URL.createObjectURL(mediaSource);
var video = document.createElement('video');
var unexpectedErrorHandler = t.unreached_func("Unexpected error.")
video.addEventListener('error', unexpectedErrorHandler);
video.src = url;
window.URL.revokeObjectURL(url);
mediaSource.addEventListener('sourceopen', t.step_func_done(function(e) {
assert_equals(mediaSource.readyState, 'open');
mediaSource.endOfStream();
video.removeEventListener('error', unexpectedErrorHandler);
}));
}, "Check referenced MediaSource can open after URL.revokeObjectURL(url).");
async_test(function(t) {
var mediaSource = new MediaSource();
var url = window.URL.createObjectURL(mediaSource);
setTimeout(function() {
mediaSource.addEventListener('sourceopen',
t.unreached_func("url should not reference MediaSource."));
var video = document.createElement('video');
video.src = url;
video.addEventListener('error', t.step_func_done(function(e) {
assert_equals(e.target.error.code,
MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED,
'Expected error code');
assert_equals(mediaSource.readyState, 'closed');
}));
}, 0);
}, "Check auto-revoking behavior with URL.createObjectURL(MediaSource).");
</script>
</body>
</html>

View file

@ -1,93 +0,0 @@
<!doctype html>
<html>
<head>
<link rel='stylesheet' href='/resources/testharness.css'>
<script>
(function() {
var testURLs = [];
var testIndex = 0;
var testCount = 0;
var STATUS_STRINGS = ["PASS", "FAIL", "TIMEOUT", "NOTRUN"];
function onMessage(e)
{
var testData = e.data;
//console.log(testData.type, testData);
if (testData.type == "complete") {
var tableBody = document.querySelector("#results tbody");
var fragment = document.createDocumentFragment();
testCount += testData.tests.length;
for (var i = 0; i < testData.tests.length; ++i) {
var testResults = testData.tests[i];
var tr = document.createElement("tr");
var status = document.createElement("td");
var testName = document.createElement("td");
var message = document.createElement("td");
status.textContent = STATUS_STRINGS[testResults.status];
tr.className = STATUS_STRINGS[testResults.status].toLowerCase();
testName.textContent = testResults.name;
message.textContent = testResults.message;
tr.appendChild(status);
tr.appendChild(testName);
tr.appendChild(message);
fragment.appendChild(tr);
}
testIndex++;
if (testIndex >= testURLs.length) {
return;
}
tableBody.appendChild(fragment);
startNextTest();
return;
}
}
function startNextTest()
{
var iframe = document.querySelector("iframe");
var testURL = testURLs[testIndex];
var tr = document.createElement("tr");
var td = document.createElement("td");
td.appendChild(document.createTextNode("Running tests in '" + testURL + "' :"));
td.colSpan = 3;
tr.appendChild(td);
document.querySelector("#results tbody").appendChild(tr);
iframe.src = testURL;
}
window["onBodyLoad"] = function()
{
window.addEventListener("message", onMessage);
var xhr = new XMLHttpRequest();
xhr.open("GET", "manifest.txt", false);
xhr.send();
var str = xhr.response.replace("\r", "");
testURLs = xhr.response.replace("\r", "").split("\n");
startNextTest();
}
})(window);
</script>
</head>
<body onload="onBodyLoad()">
<iframe></iframe>
<table id="results" style="float:left;">
<tbody>
</tbody>
</table>
<div id="log"></div>
</body>
</html>

View file

@ -11,7 +11,7 @@
<script>
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "update", "Append success.");
@ -29,7 +29,7 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "update", "Append success.");
@ -53,7 +53,7 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "abort", "Append aborted.");
@ -75,7 +75,7 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "update", "Append success.");
@ -155,7 +155,7 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "abort", "Append aborted.");
@ -183,7 +183,7 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "updateend", "Append ended.");
@ -204,8 +204,8 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, "error");
test.failOnEvent(mediaSource, "sourceended");
mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
mediaSource.addEventListener("sourceended", test.unreached_func("Unexpected event 'sourceended'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "updateend", "Append ended.");
@ -229,7 +229,7 @@
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, "updatestart", "Append started.");
test.expectEvent(sourceBuffer, "updateend", "Append ended.");
@ -503,7 +503,7 @@
assert_false(sourceBuffer.updating, "updating attribute is false");
sourceBuffer.abort();
assert_equals(sourceBuffer.appendWindowStart, 0, "appendWindowStart is reset to 0");
assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY,
assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY,
"appendWindowEnd is reset to +INFINITY");
test.done();
});

View file

@ -153,7 +153,7 @@
sourceBuffer.abort();
assert_equals(sourceBuffer.appendWindowStart, 0, "appendWindowStart is 0 after an abort'");
assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY,
assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY,
"appendWindowStart is POSITIVE_INFINITY after an abort");
test.waitForExpectedEvents(function()
{

View file

@ -29,8 +29,8 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
mediaElement.pause();
test.failOnEvent(mediaElement, "error");
test.endOnEvent(mediaElement, "ended");
mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
mediaElement.addEventListener("ended", test.step_func_done());
MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(typeA, dataA)
{
@ -86,8 +86,8 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
mediaElement.pause();
test.failOnEvent(mediaElement, "error");
test.endOnEvent(mediaElement, "ended");
mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
mediaElement.addEventListener("ended", test.step_func_done());
MediaSourceUtil.fetchManifestAndData(test, subType + "/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json", function(type, data)
{
@ -144,8 +144,8 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
mediaElement.pause();
test.failOnEvent(mediaElement, "error");
test.endOnEvent(mediaElement, "ended");
mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
mediaElement.addEventListener("ended", test.step_func_done());
MediaSourceUtil.fetchManifestAndData(test, subType + "/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json", function(type, data)
{
@ -173,8 +173,8 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
mediaElement.pause();
test.failOnEvent(mediaElement, "error");
test.endOnEvent(mediaElement, "ended");
mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
mediaElement.addEventListener("ended", test.step_func_done());
var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_ONLY_TYPE);

View file

@ -22,7 +22,7 @@ function mediaSourceConfigChangeTest(directory, idA, idB, description)
mediasource_test(function(test, mediaElement, mediaSource)
{
mediaElement.pause();
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
var expectResizeEvents = resolutionFromFilename(manifestFilenameA) != resolutionFromFilename(manifestFilenameB);
var expectedResizeEventCount = 0;
@ -73,9 +73,9 @@ function mediaSourceConfigChangeTest(directory, idA, idB, description)
test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer');
test.expectEvent(sourceBuffer, 'update', 'sourceBuffer');
test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
});
});
test.waitForExpectedEvents(function()
test.waitForExpectedEvents(function()
{
assert_false(sourceBuffer.updating, "updating");

View file

@ -11,7 +11,7 @@
<script>
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
assert_equals(mediaSource.readyState, 'open');
assert_throws(new TypeError(),
@ -24,7 +24,7 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
assert_equals(mediaSource.readyState, 'open');
assert_throws(new TypeError(),
@ -37,7 +37,7 @@
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
assert_equals(mediaSource.readyState, 'open');
assert_throws(new TypeError(),

View file

@ -33,7 +33,7 @@
timeUpdateCount++;
}));
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer');
test.expectEvent(sourceBuffer, 'update', 'sourceBuffer');

View file

@ -11,8 +11,8 @@
<script>
mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
test.failOnEvent(mediaElement, 'error');
test.endOnEvent(mediaElement, 'ended');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
mediaElement.addEventListener('ended', test.step_func_done());
test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer');
test.expectEvent(sourceBuffer, 'update', 'sourceBuffer');

View file

@ -49,8 +49,8 @@
test.waitForExpectedEvents(function()
{
// No more seeking or seeked events should occur.
test.failOnEvent(mediaElement, 'seeking');
test.failOnEvent(mediaElement, 'seeked');
mediaElement.addEventListener('seeking', test.unreached_func("Unexpected event 'seeking'"));
mediaElement.addEventListener('seeked', test.unreached_func("Unexpected event 'seeked'"));
assert_false(mediaElement.seeking, 'Element is not seeking');
assert_greater_than_equal(mediaElement.currentTime, 1.0, 'Element time is at or after last seek time');

View file

@ -14,7 +14,7 @@
return mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
{
assert_greater_than(segmentInfo.media.length, 3, "at least 3 media segments for supported type");
test.failOnEvent(mediaElement, "error");
mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
sourceBuffer.mode = "sequence";
assert_equals(sourceBuffer.mode, "sequence", "mode after setting it to \"sequence\"");

View file

@ -1,41 +1,41 @@
(function(window) {
var SEGMENT_INFO_LIST = [
{
url: 'mp4/test.mp4',
type: 'video/mp4; codecs="mp4a.40.2,avc1.4d400d"',
duration: 6.0756,
init: { offset: 0, size: 1197 },
media: [
{ offset: 1241, size: 17845, timecode: 0.000000 },
{ offset: 19130, size: 5551, timecode: 0.464800 },
{ offset: 24725, size: 10944, timecode: 0.763600 },
{ offset: 35713, size: 7131, timecode: 0.863200 },
{ offset: 42888, size: 2513, timecode: 1.128800 },
{ offset: 45457, size: 3022, timecode: 1.261600 },
{ offset: 48479, size: 815, timecode: 1.427600 },
{ offset: 49338, size: 2818, timecode: 1.460800 },
{ offset: 52200, size: 11581, timecode: 1.593600 },
{ offset: 63825, size: 3003, timecode: 1.726400 },
{ offset: 66872, size: 6390, timecode: 1.892400 },
{ offset: 73306, size: 3740, timecode: 2.124800 },
{ offset: 77102, size: 11779, timecode: 2.324000 },
{ offset: 88881, size: 851, timecode: 2.490000 },
{ offset: 89776, size: 4236, timecode: 2.523200 },
{ offset: 94056, size: 9538, timecode: 2.755600 },
{ offset: 103638, size: 13295, timecode: 3.154000 },
{ offset: 116977, size: 309, timecode: 3.386400 },
{ offset: 117330, size: 5806, timecode: 3.419600 },
{ offset: 123180, size: 4392, timecode: 3.751600 },
{ offset: 127616, size: 15408, timecode: 3.984000 },
{ offset: 143068, size: 9899, timecode: 4.216400 },
{ offset: 153011, size: 11562, timecode: 4.780800 },
{ offset: 164617, size: 7398, timecode: 4.946800 },
{ offset: 172059, size: 5698, timecode: 5.212400 },
{ offset: 177801, size: 11682, timecode: 5.511200 },
{ offset: 189527, size: 3023, timecode: 5.677200 },
{ offset: 192594, size: 5726, timecode: 5.843200 },
]
},
{
url: 'mp4/test.mp4',
type: 'video/mp4; codecs="mp4a.40.2,avc1.4d400d"',
duration: 6.0756,
init: { offset: 0, size: 1197 },
media: [
{ offset: 1241, size: 17845, timecode: 0.000000 },
{ offset: 19130, size: 5551, timecode: 0.464800 },
{ offset: 24725, size: 10944, timecode: 0.763600 },
{ offset: 35713, size: 7131, timecode: 0.863200 },
{ offset: 42888, size: 2513, timecode: 1.128800 },
{ offset: 45457, size: 3022, timecode: 1.261600 },
{ offset: 48479, size: 815, timecode: 1.427600 },
{ offset: 49338, size: 2818, timecode: 1.460800 },
{ offset: 52200, size: 11581, timecode: 1.593600 },
{ offset: 63825, size: 3003, timecode: 1.726400 },
{ offset: 66872, size: 6390, timecode: 1.892400 },
{ offset: 73306, size: 3740, timecode: 2.124800 },
{ offset: 77102, size: 11779, timecode: 2.324000 },
{ offset: 88881, size: 851, timecode: 2.490000 },
{ offset: 89776, size: 4236, timecode: 2.523200 },
{ offset: 94056, size: 9538, timecode: 2.755600 },
{ offset: 103638, size: 13295, timecode: 3.154000 },
{ offset: 116977, size: 309, timecode: 3.386400 },
{ offset: 117330, size: 5806, timecode: 3.419600 },
{ offset: 123180, size: 4392, timecode: 3.751600 },
{ offset: 127616, size: 15408, timecode: 3.984000 },
{ offset: 143068, size: 9899, timecode: 4.216400 },
{ offset: 153011, size: 11562, timecode: 4.780800 },
{ offset: 164617, size: 7398, timecode: 4.946800 },
{ offset: 172059, size: 5698, timecode: 5.212400 },
{ offset: 177801, size: 11682, timecode: 5.511200 },
{ offset: 189527, size: 3023, timecode: 5.677200 },
{ offset: 192594, size: 5726, timecode: 5.843200 },
]
},
{
url: 'webm/test.webm',
type: 'video/webm; codecs="vp8, vorbis"',
@ -274,27 +274,27 @@
MediaSourceUtil.append = function(test, sourceBuffer, data, callback)
{
function onUpdate() {
sourceBuffer.removeEventListener("update", onUpdate);
callback();
}
function onUpdate() {
sourceBuffer.removeEventListener("update", onUpdate);
callback();
}
sourceBuffer.addEventListener("update", onUpdate);
test.failOnEvent(sourceBuffer, "error");
sourceBuffer.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
sourceBuffer.appendBuffer(data);
sourceBuffer.appendBuffer(data);
};
MediaSourceUtil.appendUntilEventFires = function(test, mediaElement, eventName, sourceBuffer, mediaData, segmentInfo, startingIndex)
{
var eventFired = false;
function onEvent() {
mediaElement.removeEventListener(eventName, onEvent);
eventFired = true;
}
mediaElement.addEventListener(eventName, onEvent);
var eventFired = false;
function onEvent() {
mediaElement.removeEventListener(eventName, onEvent);
eventFired = true;
}
mediaElement.addEventListener(eventName, onEvent);
var i = startingIndex;
var i = startingIndex;
var onAppendDone = function() {
if (eventFired)
return;
@ -308,19 +308,6 @@
function addExtraTestMethods(test)
{
test.failOnEvent = function(object, eventName)
{
object.addEventListener(eventName, test.step_func(function(event)
{
assert_unreached("Unexpected event '" + eventName + "'");
}));
};
test.endOnEvent = function(object, eventName)
{
object.addEventListener(eventName, test.step_func(function(event) { test.done(); }));
};
test.eventExpectations_ = new EventExpectationsManager(test);
test.expectEvent = function(object, eventName, description)
{
@ -401,7 +388,7 @@
return;
}
test.failOnEvent(mediaElement, 'error');
mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
var sourceBuffer = mediaSource.addSourceBuffer(segmentInfo.type);
MediaSourceUtil.loadBinaryData(test, segmentInfo.url, function(mediaData)