Test that cues from in-band tracks are displayed immediately when a track is made visible.

EVENT(canplaythrough)

** Check initial in-band track states
RUN(inbandTrack1 = video.textTracks[0])
EXPECTED (video.textTracks.length == '1') OK
EXPECTED (inbandTrack1.language == 'en') OK
EXPECTED (inbandTrack1.kind == 'captions') OK

** A hidden track should not have visible cues
RUN(inbandTrack1.mode = 'hidden')
EXPECTED (inbandTrack1.activeCues.length == '0') OK
RUN(video.play())
EVENT(seeked)
No text track cue with display id 'cue' is currently visible

** Showing a track should show active cues immediately
RUN(inbandTrack1.mode = 'showing')
EXPECTED (textTrackDisplayElement(video, 'cue').textContent != 'null') OK
EXPECTED (inbandTrack1.activeCues.length == '1') OK

END OF TEST

