<!DOCTYPE html>
<html>
<head>
    <title>video-muted-holds-sleep-assertion</title>
    <script src="video-test.js"></script>
    <script src="media-file.js"></script>
    <script>
    window.addEventListener('load', async event => {
        findMediaElement();

        run('video.src = findMediaFile("video", "content/test")');
        await waitFor(video, 'canplaythrough');

        run('video.play()');
        await waitFor(video, 'playing');

        testExpected('internals.elementIsBlockingDisplaySleep(video)', false);
        runWithKeyDown('video.muted = false');
        await waitFor(video, 'volumechange');

        testExpected('internals.elementIsBlockingDisplaySleep(video)', true);

        endTest();
    }, {once: true});
    </script>
</head>
<body>
    <video controls muted></video>
</body>
</html>
