Test of the media element 'played' attribute

EVENT(loadstart)
EVENT(loadedmetadata)
EVENT(canplay)
Test 1 OK

Test playing when there are no ranges
RUN(video.play())
RUN(video.pause())
EVENT(pause)
Test 2 OK
Test 3 OK
Test 4 OK

Test to reset to non empty video source
RUN(video.src = "content/test.mp4")
RUN(video.load())
EVENT(loadstart)
EVENT(loadedmetadata)
EVENT(canplay)
Test 5 OK

Test jumping forward into a new range and play
RUN(video.play())
RUN(video.pause())
EVENT(pause)
Test 6 OK
Test 7 OK
Test 8 OK

Test to reset to an empty video source
RUN(video.src = "")
RUN(video.load())
EVENT(loadstart)
EVENT(loadstart)
Test 9 OK
END OF TEST

