blob: 1e015ea722364ef97a2c9f8a32f2fd93ab45e6ab [file] [log] [blame]
<script src="../media-file.js"></script>
<script src="controls-test-helpers.js"></script>
<script>
const isVisible = (state) => {
if (state === null || typeof state.className !== "string")
return true;
let classes = state.className.split();
return !classes.includes("dropped") && !classes.includes("hidden");
}
const tester = new ControlsTest()
.whenReady(scrubAndWait)
.start();
function scrubAndWait()
{
currentState = tester.currentState;
tester.test("We are using the apple idiom")
.value(currentState.idiom)
.isEqualTo("apple");
tester.logMessage("Scrub to the end of the media");
tester.resetEventTrigger("ended")
.whenReady(runTests);
tester.media.currentTime = tester.media.duration - 0.05;
tester.media.play();
}
function runTests()
{
tester.test("Video is paused")
.value(tester.media.paused)
.isTrue();
["Time Remaining", "Current Time"].forEach(name => {
const elementState = tester.stateForControlsElement(name);
tester.test(`${name} is visible`)
.value(isVisible(elementState))
.isTrue();
});
tester.end();
}
</script>
<p>This tests that the scrubber shows on a default media element.</p>
<p>This test only runs in DRT!</p>
<video name="media" controls autoplay style="width:300px !important;"></video>