OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <title>HTMLMediaElement set session</title> | |
3 <script src="../../resources/testharness.js"></script> | |
4 <script src="../../resources/testharnessreport.js"></script> | |
5 <script> | |
6 test(function() { | |
7 assert_true(!window.internals || window.internals.runtimeFlags.mediaSessio
nEnabled, | |
8 "Run either manually by passing the MediaSession flag or as part of th
e virtual mediasession testsuite."); | |
9 console.warn("dummy log entry to avoid an empty -expected.txt in virtual/"
); | |
10 }, "Setup"); | |
11 | |
12 test(function() { | |
13 var mediaElement = document.createElement('audio'); | |
14 assert_true(mediaElement instanceof HTMLMediaElement); | |
15 | |
16 var mediaSession = new MediaSession(); | |
17 assert_equals(mediaElement.networkState, HTMLMediaElement.NETWORK_EMPTY); | |
18 mediaElement.session = mediaSession; | |
19 assert_equals(mediaElement.session, mediaSession); | |
20 | |
21 assert_throws(new TypeError, function() { mediaElement.session = document;
}); | |
22 assert_throws(new TypeError, function() { mediaElement.session = "string";
}); | |
23 assert_throws(new TypeError, function() { mediaElement.session = 42; }); | |
24 assert_equals(mediaElement.session, mediaSession); | |
25 | |
26 mediaElement.session = null; | |
27 assert_equals(mediaElement.session, null); | |
28 }, "Set HTMLMediaElement session when networkState is NETWORK_EMPTY"); | |
29 | |
30 test(function() { | |
31 var mediaElement = document.createElement('audio'); | |
32 var mediaSession = new MediaSession(); | |
33 mediaElement.appendChild(document.createElement('source')); | |
34 assert_equals(mediaElement.networkState, HTMLMediaElement.NETWORK_NO_SOURC
E); | |
35 mediaElement.session = mediaSession; | |
36 assert_equals(mediaElement.session, mediaSession); | |
37 }, "Set HTMLMediaElement session when networkState is NETWORK_NO_SOURCE"); | |
38 | |
39 async_test(function(t) { | |
40 var mediaElement = document.createElement('audio'); | |
41 mediaElement.onloadeddata = t.step_func(function () { | |
42 assert_true(mediaElement.networkState == HTMLMediaElement.NETWORK_IDLE | |
43 || mediaElement.networkState == HTMLMediaElement.NETWORK_L
OADING); | |
44 assert_throws("InvalidStateError", function() { mediaElement.session =
new MediaSession(); }); | |
45 t.done(); | |
46 }); | |
47 mediaElement.src = '../resources/test-live.webm'; | |
48 }, "Set HTMLMediaElement session during or after load"); | |
49 </script> | |
OLD | NEW |