<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 the <code>SkipForwardButton</code> class.");

const skipForwardButton = new SkipForwardButton({ layoutTraits: new MacOSLayoutTraits(LayoutTraits.Mode.Inline) });

shouldBeEqualToString("skipForwardButton.element.localName", "button");
shouldBeTrue('skipForwardButton.element.classList.contains("skip-forward")');
shouldBe("skipForwardButton.iconName", "Icons.SkipForward");

const iOSSkipForwardButton = new SkipForwardButton({ layoutTraits: new IOSLayoutTraits(LayoutTraits.Mode.Inline) });

shouldBecomeEqual('skipForwardButton.image.element.style.webkitMaskImage.includes("macOS/SkipForward15.svg")', "true", () => {
    shouldBecomeEqual('iOSSkipForwardButton.image.element.style.webkitMaskImage.includes("iOS/SkipForward15.svg")', "true", finishJSTest);
});

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