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

window.jsTestIsAsync = true;

description("Testing <code>StatusLabel</code> properties when used inside <code>InlineMediaControls</code>.");

const mediaControls = new MacOSInlineMediaControls({ width: 600, height: 300 });
mediaControls.statusLabel.enabled = true;
mediaControls.statusLabel.text = "Hello World";

document.body.appendChild(mediaControls.element);

let style;
shouldBecomeEqual("document.body.contains(mediaControls.statusLabel.element)", "true", () => {
    style = getComputedStyle(mediaControls.statusLabel.element);

    shouldBeEqualToString("style.mixBlendMode", "plus-lighter");
    shouldBeEqualToRGBAColor("style.color", "rgba(255, 255, 255, 0.54902)");

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

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