<script src="../../../resources/js-test-pre.js"></script>
<script src="../resources/media-controls-loader.js" type="text/javascript"></script>
<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
<body>
<script type="text/javascript">

window.jsTestIsAsync = true;

description("Testing that text selection is turned off for <code>AirplayPlacard</code>.");

const mediaControls = new MacOSInlineMediaControls({ width: 600, height: 300 });
mediaControls.placard = mediaControls.airplayPlacard;
document.body.appendChild(mediaControls.element);

shouldBecomeEqual("!!document.querySelector('.placard')", "true", () => {
    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.title')).webkitUserSelect", "none");
    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.title')).cursor", "default");
    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.description')).webkitUserSelect", "none");
    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.description')).cursor", "default");

    mediaControls.element.remove();
    debug("");
    finishJSTest();
});

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