blob: aed869643c3da056701cfe78fea88433321782f9 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/w3c/resources/testharness.js"></script>
<script src="/w3c/resources/testharnessreport.js"></script>
<script src="mediasource-util.js"></script>
<link rel='stylesheet' href='/w3c/resources/testharness.css'>
</head>
<body>
<div id="log"></div>
<script>
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
assert_equals(mediaSource.readyState, 'open');
assert_throws_js(TypeError,
function() { mediaSource.endOfStream('garbage'); },
'endOfStream(\'garbage\') throws TypeError');
assert_equals(mediaSource.readyState, 'open');
test.done();
}, 'Test MediaSource.endOfStream() with invalid non-empty error string.');
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
assert_equals(mediaSource.readyState, 'open');
assert_throws_js(TypeError,
function() { mediaSource.endOfStream(''); },
'endOfStream(\'\') throws TypeError');
assert_equals(mediaSource.readyState, 'open');
test.done();
}, 'Test MediaSource.endOfStream() with invalid empty error string.');
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
assert_equals(mediaSource.readyState, 'open');
test.expectEvent(mediaSource, 'sourceend');
mediaSource.endOfStream();
assert_equals(mediaSource.readyState, 'ended');
assert_throws_dom("InvalidStateError",
function() { mediaSource.endOfStream(); },
"endofStream() threw an exception when in ended state");
test.done();
}, 'Test MediaSource.endOfStream() with when readyState is ended.');
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
assert_equals(mediaSource.readyState, 'open');
test.expectEvent(mediaSource, 'sourceend');
mediaSource.endOfStream();
assert_equals(mediaSource.readyState, 'ended');
assert_throws_dom("InvalidStateError",
function() { mediaSource.endOfStream("decode"); },
"endofStream() threw an exception when in ended state");
test.done();
}, 'Test MediaSource.endOfStream(decode) with when readyState is ended.');
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
assert_equals(mediaSource.readyState, 'open');
test.expectEvent(mediaSource, 'sourceend');
mediaSource.endOfStream();
assert_equals(mediaSource.readyState, 'ended');
assert_throws_dom("InvalidStateError",
function() { mediaSource.endOfStream("network"); },
"endofStream() threw an exception when in ended state");
test.done();
}, 'Test MediaSource.endOfStream(network) with when readyState is ended.');
mediasource_test(function(test, mediaElement, mediaSource)
{
test.failOnEvent(mediaElement, 'error');
assert_equals(mediaSource.readyState, 'open');
assert_throws_js(TypeError,
function() { mediaSource.endOfStream(null); },
'endOfStream(null) throws TypeError');
assert_equals(mediaSource.readyState, 'open');
test.done();
}, 'Test MediaSource.endOfStream() with invalid null error parameter.');
</script>
</body>
</html>