summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/media-elements/event_order_loadstart_progress.html
blob: c6e1dbe07a0e329146d5f4e6b97cd5bd5f3390bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!doctype html>
<html>
 <head>
  <title>{audio,video} events - loadstart, then progress</title>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <script src="/common/media.js"></script>
 </head>
 <body>
  <p><a href="https://html.spec.whatwg.org/multipage/#mediaevents">spec reference</a></p>
  <audio id="a" autoplay controls>
  </audio>
  <video id="v" autoplay controls>
  </video>
  <div id="log"></div>
  <script>
test(function() {
  var t = async_test("setting src attribute on autoplay audio should trigger loadstart then progress event");
  var a = document.getElementById("a");
  var found_loadstart = false;
  a.addEventListener("error", t.unreached_func());
  a.addEventListener("loadstart", t.step_func(function() {
    found_loadstart = true;
  }));
  a.addEventListener("progress", t.step_func(function() {
    assert_true(found_loadstart);
    t.done();
    a.pause();
  }), false);
  a.src = getAudioURI("/media/sound_5") + "?" + new Date() + Math.random();
}, "audio events - loadstart, then progress");

test(function() {
  var t = async_test("setting src attribute on autoplay video should trigger loadstart then progress event");
  var v = document.getElementById("v");
  var found_loadstart = false;
  v.addEventListener("error", t.unreached_func());
  v.addEventListener("loadstart", t.step_func(function() {
    found_loadstart = true;
  }));
  v.addEventListener("progress", t.step_func(function() {
    assert_true(found_loadstart);
    t.done();
    v.pause();
  }), false);
  v.src = getVideoURI("/media/movie_5") + "?" + new Date() + Math.random();
}, "video events - loadstart, then progress");
  </script>
 </body>
</html>