blob: 8bdf95c076efc705f6f947d5679b52b8ae05fc1c [file] [log] [blame]
<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>PlayPauseButton</code> class.");
const playButton = new PlayPauseButton({ layoutTraits: new MacOSLayoutTraits(LayoutTraits.Mode.Inline) });
shouldBeEqualToString("playButton.element.localName", "button");
shouldBeTrue('playButton.element.classList.contains("play-pause")');
shouldBe("playButton.iconName", "Icons.Play");
shouldBeFalse("playButton.playing");
const fullscreenPlayButton = new PlayPauseButton({ layoutTraits: new MacOSLayoutTraits(LayoutTraits.Mode.Fullscreen) });
const iOSPlayButton = new PlayPauseButton({ layoutTraits: new IOSLayoutTraits(LayoutTraits.Mode.Inline) });
const pauseButton = new PlayPauseButton({ layoutTraits: new MacOSLayoutTraits(LayoutTraits.Mode.Inline) });
pauseButton.playing = true;
shouldBeTrue("pauseButton.playing");
shouldBe("pauseButton.iconName", "Icons.Pause");
const fullscreenPauseButton = new PlayPauseButton({ layoutTraits: new MacOSLayoutTraits(LayoutTraits.Mode.Fullscreen) });
fullscreenPauseButton.playing = true;
const iOSPauseButton = new PlayPauseButton({ layoutTraits: new IOSLayoutTraits(LayoutTraits.Mode.Inline) });
iOSPauseButton.playing = true;
shouldBecomeEqual('playButton.image.element.style.webkitMaskImage.includes("macOS/Play.svg")', "true", () => {
shouldBecomeEqual('pauseButton.image.element.style.webkitMaskImage.includes("macOS/Pause.svg")', "true", () => {
shouldBecomeEqual('iOSPlayButton.image.element.style.webkitMaskImage.includes("iOS/Play.svg")', "true", () => {
shouldBecomeEqual('iOSPauseButton.image.element.style.webkitMaskImage.includes("iOS/Pause.svg")', "true", () => {
debug("");
finishJSTest();
});
});
});
});
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>