Bug 1839170 - Refactor Snap pulling, Add Firefox Snap Core22 and GNOME 42 SDK symbols...
[gecko.git] / dom / media / test / test_seek-1.html
blob8690a475b6dd6d9d7042ffde03054bf996f89689
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Media test: seek tests</title>
5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
7 <script type="text/javascript" src="manifest.js"></script>
8 <script type="text/javascript" src="seek_support.js"></script>
9 </head>
10 <body>
11 <pre id="test">
12 <script class="testbody" type="text/javascript">
14 // The data being used in these tests is specified in manifest.js.
15 // The functions to build the test array and to run a specific test are in
16 // seek_support.js.
18 const SEEK_TEST_NUMBER = 1;
20 function test_seek1(v, seekTime, is, ok, finish) {
22 var startPassed = false;
23 var endPassed = false;
24 var seekFlagStart = false;
25 var seekFlagEnd = false;
26 var readonly = true;
27 var completed = false;
29 function startTest() {
30 ok(!completed, "Should not be completed yet");
31 ok(!v.seeking, "seeking should default to false");
32 try {
33 v.seeking = true;
34 readonly = v.seeking === false;
36 catch(e) {
37 readonly = "threw exception: " + e;
39 is(readonly, true, "seeking should be readonly");
41 v.currentTime = seekTime;
42 seekFlagStart = v.seeking;
45 function seekStarted() {
46 ok(!completed, "should not be completed yet");
47 ok(Math.abs(v.currentTime - seekTime) < 0.1,
48 "Video currentTime should be around " + seekTime + ": " + v.currentTime + " (seeking)");
49 startPassed = true;
52 function seekEnded() {
53 ok(!completed, "shuld not be completed yet");
54 ok(Math.abs(v.currentTime - seekTime) < 0.1,
55 "Video currentTime should be around " + seekTime + ": " + v.currentTime + " (seeked)");
56 endPassed = true;
57 seekFlagEnd = v.seeking;
58 v.play();
61 function playbackEnded() {
62 ok(!completed, "should not be completed yet");
64 completed = true;
65 ok(startPassed, "seeking event");
66 ok(endPassed, "seeked event");
67 ok(seekFlagStart, "seeking flag on start should be true");
68 ok(!seekFlagEnd, "seeking flag on end should be false");
69 finish();
72 once(v, "ended", playbackEnded);
73 once(v, "loadedmetadata", startTest);
74 once(v, "seeking", seekStarted);
75 once(v, "seeked", seekEnded);
79 manager.runTests(createTestArray(), startTest);
81 </script>
82 </pre>
83 </body>
84 </html>