<script src="../../../../../resources/js-test-pre.js"></script>
<script src="../../../../../media/modern-media-controls/resources/media-controls-loader.js" type="text/javascript"></script>
<body>
<style type="text/css" media="screen">
    
    video, #host {
        position: absolute;
        top: 0;
        left: 0;
    }

    video {
        width: 800px;
        height: 240px;
    }
    
</style>
<video src="../../../../../media/content/test.mp4" controls autoplay></video>
<div id="host"></div>
<script type="text/javascript">

window.jsTestIsAsync = true;

description("Testing the <code>PipSupport</code> behavior.");

const container = document.querySelector("div#host");
const media = document.querySelector("video");
const mediaController = createControls(container, media, null);

media.addEventListener("loadedmetadata", () => {
    shouldBeTrue("mediaController.controls.pipButton.enabled");
    media.src = "";
});

media.addEventListener("error", () => {
    shouldBeFalse("mediaController.controls.pipButton.enabled");
    debug("");
    container.remove();
    media.remove();
    finishJSTest();
});

</script>
<script src="../../../../../resources/js-test-post.js"></script>
</body>
