| OLD | NEW |
| (Empty) |
| 1 Test looping edge case to verify http://crbug.com/364442. Steps: | |
| 2 | |
| 3 Seek toward end of video (for faster testing). | |
| 4 Play video to end with 'loop' set to false. | |
| 5 Once ended, set 'loop' to true. | |
| 6 Call play. | |
| 7 Verify that 'seeked' event fires, seeking back to the beginning. | |
| 8 Pause video and end test. | |
| 9 | |
| 10 ++ Video is initially paused and 'loop' unset. | |
| 11 EXPECTED (video.paused == 'true') OK | |
| 12 EXPECTED (video.loop == 'false') OK | |
| 13 | |
| 14 ++ Seek to just before the end of the video and play. | |
| 15 RUN(video.currentTime = video.duration - .5) | |
| 16 RUN(video.play()) | |
| 17 | |
| 18 EVENT(play) | |
| 19 EVENT(ended) | |
| 20 | |
| 21 ++ Verify played to end and stopped. | |
| 22 EXPECTED (video.ended == 'true') OK | |
| 23 EXPECTED (video.paused == 'true') OK | |
| 24 EXPECTED (video.currentTime == 'video.duration') OK | |
| 25 | |
| 26 ++ With playback ended, set 'loop' attribute. This will cause ended == false; lo
oping video cannot be 'ended', only paused. | |
| 27 EXPECTED (video.loop == 'false') OK | |
| 28 RUN(video.loop = true) | |
| 29 EXPECTED (video.loop == 'true') OK | |
| 30 EXPECTED (video.ended == 'false') OK | |
| 31 EXPECTED (video.paused == 'true') OK | |
| 32 | |
| 33 ++ Play video with 'loop' set. Expect seek back to start. | |
| 34 RUN(video.play()) | |
| 35 | |
| 36 EVENT(play) | |
| 37 EVENT(seeked) | |
| 38 | |
| 39 ++ Observed seek. Verify current time decreased and still playing. | |
| 40 EXPECTED (video.loop == 'true') OK | |
| 41 EXPECTED (video.paused == 'false') OK | |
| 42 EXPECTED (video.ended == 'false') OK | |
| 43 EXPECTED (video.currentTime < 'video.duration') OK | |
| 44 | |
| 45 ++ Pausing now that test is over to prevent additional unwanted looping. | |
| 46 RUN(video.pause()) | |
| 47 | |
| 48 END OF TEST | |
| 49 | |
| OLD | NEW |