<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">

description("Testing an <code>Button</code> has a white background-color when set to `on`.");

window.jsTestIsAsync = true;

const button = new Button({ layoutDelegate: { layoutTraits: LayoutTraits.macOS } });
button.iconName = Icons.Pause;
button.on = true;
document.body.appendChild(button.element);

scheduler.frameDidFire = function()
{
    shouldBeEqualToString("window.getComputedStyle(button.image.element).backgroundColor", "rgb(255, 255, 255)");

    button.element.remove();
    debug("");
    finishMediaControlsTest();
}

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