MediaStreamTrackEvent-constructor.https.html (1535B)
1 <!doctype html> 2 <title>MediaStreamTrackEvent constructor</title> 3 <link rel="help" href="https://w3c.github.io/mediacapture-main/#mediastreamtrackevent"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script> 7 test(function() { 8 assert_equals(MediaStreamTrackEvent.length, 2); 9 assert_throws_js(TypeError, function() { 10 new MediaStreamTrackEvent("type"); 11 }); 12 assert_throws_js(TypeError, function() { 13 new MediaStreamTrackEvent("type", null); 14 }); 15 assert_throws_js(TypeError, function() { 16 new MediaStreamTrackEvent("type", undefined); 17 }); 18 }, "The eventInitDict argument is required"); 19 20 test(function() { 21 assert_throws_js(TypeError, function() { 22 new MediaStreamTrackEvent("type", {}); 23 }); 24 assert_throws_js(TypeError, function() { 25 new MediaStreamTrackEvent("type", { track: null }); 26 }); 27 assert_throws_js(TypeError, function() { 28 new MediaStreamTrackEvent("type", { track: undefined }); 29 }); 30 }, "The eventInitDict's track member is required."); 31 32 test(function() { 33 // a MediaStreamTrack instance is needed to test, any instance will do. 34 var context = new AudioContext(); 35 var dest = context.createMediaStreamDestination(); 36 var track = dest.stream.getTracks()[0]; 37 assert_true(track instanceof MediaStreamTrack); 38 var event = new MediaStreamTrackEvent("type", { track: track }); 39 assert_equals(event.type, "type"); 40 assert_equals(event.track, track); 41 }, "The MediaStreamTrackEvent instance's track attribute is set."); 42 </script>