mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-07 11:56:51 +00:00
938964cf0e
loadedmetadata is to be fired when "The user agent has just determined the duration and dimensions of the media resource and the text tracks are ready. " . The invalid-preskip.webm has valid metadata however the codec data is invalid, meaning we will fail decoding the first frame. As such firing loadedmetadata for this file appears correct (it's an audio only file and we have determined its duration)
54 lines
1.4 KiB
HTML
54 lines
1.4 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<title>Test rejection of invalid files</title>
|
|
<script type="text/javascript" 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>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
var manager = new MediaTestManager;
|
|
|
|
function startTest(test, token) {
|
|
var v = document.createElement('video');
|
|
manager.started(token);
|
|
|
|
// Set up event handlers. Seeing any of these is a failure.
|
|
function badEvent(type) { return function(e) {
|
|
ok(false, test.name + " should not fire '" + type + "' event");
|
|
}};
|
|
var events = [
|
|
'loadeddata', 'load',
|
|
'canplay', 'canplaythrough',
|
|
'playing'
|
|
];
|
|
events.forEach( function(e) {
|
|
v.addEventListener(e, badEvent(e));
|
|
});
|
|
|
|
// Seeing a decoder error is a success.
|
|
v.addEventListener("error", function onerror(e) {
|
|
is(v.error.code, v.error.MEDIA_ERR_DECODE,
|
|
"decoder should reject " + test.name);
|
|
v.removeEventListener('error', onerror, false);
|
|
manager.finished(token);
|
|
});
|
|
|
|
// Now try to load and play the file, which should result in the
|
|
// error event handler above being called, terminating the test.
|
|
document.body.appendChild(v);
|
|
v.src = test.name;
|
|
v.play();
|
|
}
|
|
|
|
manager.runTests(gInvalidTests, startTest);
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|