upload tizen1.0 source
[framework/web/webkit-efl.git] / LayoutTests / media / video-played-collapse.html
1 <html>
2     <head>
3         <title>Test of 'played' attribute</title>
4         <script src=media-file.js></script>
5         <script src=video-test.js></script>
6         <script src=video-played.js></script>
7         <script>
8     
9             var testFunctions = 
10             [ 
11                 PlayWithNoRanges,
12                 CreateANewRange,
13                 JumpAndCollapseTwoRanges,
14                 TestLoopingAndPassToTheEnd
15             ];
16     
17             // NOTE: Result details are not printed for this test because time values are different from machine
18             // to machine and run to run. Commenting out the following line turns on detailed logging back on, which
19             // can be useful for debugging test failure.
20             disableFullTestDetailsPrinting(); 
21
22             function PlayWithNoRanges()
23             {
24                 consoleWrite("<br><b><em>Test playing when there are no ranges</em></b>");
25
26                 willPauseInExistingRange = false;
27                 willExtendAnExistingRange = false;
28                 timeRangeCount = currentTimeRange = 0;
29
30                 runSilently("video.currentTime = 0.5");
31
32                 currentTimeRange++;
33                 startPlayingInNewRange();
34             }
35     
36
37             function CreateANewRange()
38             {
39                 consoleWrite("<br><b><em>Create a new range</em></b>");
40         
41                 var newTime = (video.played.end(0) + 0.05).toFixed(2);
42                 runSilently("video.currentTime = " + newTime);
43
44                 willPauseInExistingRange = false;
45                 willExtendAnExistingRange = false;
46
47                 startPlayingInNewRange();
48             }
49
50             function JumpAndCollapseTwoRanges()
51             {
52                 consoleWrite("<br><b><em>Test playing from one range into another, should collapse the two ranges</em></b>");
53     
54                 timeRangeCount--;
55                 currentTimeRange = timeRangeCount - 1;
56                 var startTime = expectedStartTimes[0] - 0.1;
57                 expectedStartTimes[0] = startTime;
58                 expectedEndTimes[0] = expectedEndTimes[1];
59
60                 willPauseInExistingRange = false;
61                 willExtendAnExistingRange = false;
62                 runSilently("video.currentTime = " + startTime);
63
64                 playForMillisecs(secToMilli(expectedEndTimes[1] - startTime + 0.1)); // Triggers pause()
65             }
66
67             function TestLoopingAndPassToTheEnd()
68             {
69                 playForMillisecs(100); // Triggers pause()
70                 return;
71                 consoleWrite("<br><b><em>Test looping</em></b>");
72     
73                 var newTime = (video.duration - 0.05).toFixed(2);
74                 runSilently("video.currentTime = " + newTime);
75                 run("video.loop = true");
76                 
77                 currentTimeRange = 0; // We'll end in the very first time range
78
79                 timeRangeCount++;
80                 expectedStartTimes[timeRangeCount-1] = newTime;
81                 expectedEndTimes[timeRangeCount-1] = video.duration.toFixed(2);
82
83                 willPauseInExistingRange = true;
84                 willExtendAnExistingRange = true;
85
86                 playForMillisecs(100); // Triggers pause()
87             }
88
89         </script>
90      </head>
91
92 <body onload="videoPlayedMain()">
93
94     <video controls></video>
95     <p>Test of the media element 'played' attribute</p>
96
97 </body>
98 </html>