Showing the tracks panel in fullscreen.

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


PASS internals.shadowRoot(media).querySelector("button.fullscreen") became different from null
PASS internals.shadowRoot(media).querySelector("button.fullscreen").getBoundingClientRect().width became different from 0
PASS internals.shadowRoot(media).querySelector("button.tracks") became different from null
PASS internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().width became different from 0
PASS internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().right became 582
PASS internals.shadowRoot(media).querySelector('.tracks-panel') became different from null
PASS internals.shadowRoot(media).querySelector('.tracks-panel').style.right is "218px"
PASS internals.shadowRoot(media).querySelector('.tracks-panel').style.bottom is "101px"

PASS successfullyParsed is true

TEST COMPLETE

