Testing the forward button in fullscreen.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS !!window.internals.shadowRoot(media).lastChild.querySelector("button.forward") became true
PASS media.webkitDisplayingFullscreen is true

Setting media.currentTime to 2s
PASS media.currentTime is 2
PASS media.paused is true

Starting to press on the skip forward button
PASS media.currentTime > 2.5 became true
PASS media.paused is true

PASS successfullyParsed is true

TEST COMPLETE

