66 lines
2.7 KiB
HTML
66 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>video-buffering-allowed</title>
|
|
<script src=media-file.js></script>
|
|
<script src=video-test.js></script>
|
|
<script>
|
|
async function runTest() {
|
|
findMediaElement();
|
|
|
|
run('video.src = findMediaFile("video", "content/test")');
|
|
await waitFor(video, 'canplaythrough');
|
|
testExpected('internals.elementShouldBufferData(video)', true);
|
|
|
|
consoleWrite('* Remove the video element from the document.');
|
|
run('video.parentNode.removeChild(video)');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', false);
|
|
|
|
consoleWrite('* Play the video.');
|
|
run ('video.play()');
|
|
await waitFor(video, 'playing');
|
|
testExpected('internals.elementShouldBufferData(video)', true);
|
|
|
|
consoleWrite('* Pause the video.');
|
|
run('video.pause()');
|
|
await waitFor(video, 'pause');
|
|
testExpected('internals.elementShouldBufferData(video)', true);
|
|
|
|
consoleWrite('* Re-insert the video element into the document.');
|
|
run('document.body.insertBefore(video, document.body.firstChild)');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', true);
|
|
|
|
consoleWrite('* Simulate the view becoming invisible.');
|
|
run('internals.setPageVisibility(false)');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', false);
|
|
|
|
consoleWrite('* Simulate the view becoming visible.');
|
|
run('internals.setPageVisibility(true)');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', true);
|
|
|
|
consoleWrite('* display:none the video element.');
|
|
run('video.style.display = "none"');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', true);
|
|
|
|
consoleWrite('* Simulate the view becoming invisible.');
|
|
run('internals.setPageVisibility(false)');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', false);
|
|
|
|
consoleWrite('* Simulate the view becoming visible.');
|
|
run('internals.setPageVisibility(true)');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', false);
|
|
|
|
consoleWrite('* Remove display:none from the video element.');
|
|
run('video.style.removeProperty("display")');
|
|
await testExpectedEventually('internals.elementShouldBufferData(video)', true);
|
|
|
|
endTest();
|
|
}
|
|
window.addEventListener('load', runTest);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<video controls></video>
|
|
</body>
|
|
</html>
|