| <script src="../../../resources/js-test-pre.js"></script> |
| <script src="../resources/media-controls-loader.js" type="text/javascript"></script> |
| <body> |
| <script type="text/javascript"> |
| |
| description("Testing the <code>MacOSInlineMediaControls</code> constructor."); |
| |
| const mediaControls = new MacOSInlineMediaControls; |
| |
| shouldBeEqualToString("mediaControls.element.localName", "div"); |
| shouldBeEqualToString("mediaControls.element.className", "media-controls mac inline"); |
| shouldBe("mediaControls.layoutTraits", "LayoutTraits.macOS"); |
| |
| debug(""); |
| debug("Controls bar"); |
| shouldBe("mediaControls.controlsBar.children.length", "4"); |
| shouldBeTrue("mediaControls.controlsBar.children[1] instanceof ButtonsContainer"); |
| shouldBeTrue("mediaControls.controlsBar.children[2] instanceof ButtonsContainer"); |
| shouldBeTrue("mediaControls.controlsBar.children[3] instanceof LayoutNode"); |
| |
| debug(""); |
| debug("Left container"); |
| shouldBe("mediaControls.controlsBar.children[1].buttons", "[mediaControls.playPauseButton, mediaControls.skipBackButton]"); |
| shouldBeEqualToString("mediaControls.controlsBar.children[1].element.className", "buttons-container left"); |
| shouldBe("mediaControls.controlsBar.children[1].leftMargin", "24"); |
| shouldBe("mediaControls.controlsBar.children[1].rightMargin", "24"); |
| shouldBe("mediaControls.controlsBar.children[1].buttonMargin", "24"); |
| |
| debug(""); |
| debug("Right container"); |
| shouldBe("mediaControls.controlsBar.children[2].buttons", "[mediaControls.muteButton, mediaControls.airplayButton, mediaControls.pipButton, mediaControls.tracksButton, mediaControls.fullscreenButton]"); |
| shouldBeEqualToString("mediaControls.controlsBar.children[2].element.className", "buttons-container right"); |
| shouldBe("mediaControls.controlsBar.children[2].leftMargin", "24"); |
| shouldBe("mediaControls.controlsBar.children[2].rightMargin", "24"); |
| shouldBe("mediaControls.controlsBar.children[2].buttonMargin", "24"); |
| |
| debug(""); |
| debug("Volume slider"); |
| shouldBeEqualToString("mediaControls.controlsBar.children[3].element.className", "volume-slider-container"); |
| shouldBe("mediaControls.controlsBar.children[3].children.slice(-1)", "[mediaControls.volumeSlider]"); |
| shouldBeFalse("mediaControls.controlsBar.children[3].visible"); |
| shouldBe("mediaControls.volumeSlider.width", "60"); |
| |
| mediaControls.bottomControlsBar.element.id = "groupping-label"; |
| document.body.appendChild(mediaControls.bottomControlsBar.element); |
| |
| mediaControls.shouldUseAudioLayout = false; |
| shouldBeEqualToString("accessibilityController.accessibleElementById('groupping-label').description","AXDescription: Video Controls"); |
| |
| mediaControls.shouldUseAudioLayout = true; |
| shouldBeEqualToString("accessibilityController.accessibleElementById('groupping-label').description","AXDescription: Audio Controls"); |
| |
| debug(""); |
| |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |
| </body> |