summaryrefslogtreecommitdiffstats
path: root/toolkit/components/pictureinpicture/tests/browser_toggleButtonOnNanDuration.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/pictureinpicture/tests/browser_toggleButtonOnNanDuration.js')
-rw-r--r--toolkit/components/pictureinpicture/tests/browser_toggleButtonOnNanDuration.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/toolkit/components/pictureinpicture/tests/browser_toggleButtonOnNanDuration.js b/toolkit/components/pictureinpicture/tests/browser_toggleButtonOnNanDuration.js
new file mode 100644
index 0000000000..6eaa4b5bcd
--- /dev/null
+++ b/toolkit/components/pictureinpicture/tests/browser_toggleButtonOnNanDuration.js
@@ -0,0 +1,32 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Tests that we do not show the Picture-in-Picture toggle on video
+ * elements that have a NaN duration.
+ */
+add_task(async function test_toggleButtonOnNanDuration() {
+ await BrowserTestUtils.withNewTab(
+ {
+ url: TEST_PAGE_WITH_NAN_VIDEO_DURATION,
+ gBrowser,
+ },
+ async browser => {
+ const VIDEO_ID = "test-video";
+
+ await SpecialPowers.spawn(browser, [VIDEO_ID], async videoID => {
+ let video = content.document.getElementById(videoID);
+ if (video.readyState < content.HTMLMediaElement.HAVE_ENOUGH_DATA) {
+ info(`Waiting for 'canplaythrough' for ${videoID}`);
+ await ContentTaskUtils.waitForEvent(video, "canplaythrough");
+ }
+ });
+
+ await testToggleHelper(browser, "nan-duration", false);
+
+ await testToggleHelper(browser, "test-video", true);
+ }
+ );
+});