Tests that adding a text track does not make controls visible.

EVENT(canplaythrough)

** Initial state: no text tracks, controls should not be visible **
EXPECTED (video.textTracks.length == '0') OK
EXPECTED (video.controls == 'false') OK

** Add a text track, controls should not become visible **
RUN(video.addTextTrack('captions'))
EXPECTED (video.textTracks.length == '1') OK
EXPECTED (video.controls == 'false') OK

** Enable controls **
RUN(video.setAttribute('controls','controls'))
EXPECTED (video.textTracks.length == '1') OK
EXPECTED (video.controls == 'true') OK
EXPECTED (internals.shadowRoot(video).firstChild != 'null') OK
EXPECTED (panel.style['display'] != 'none') OK

END OF TEST

