<!doctype html> <title>MediaStreamTrackEvent constructor</title> <link rel="help" href="https://w3c.github.io/mediacapture-main/#mediastreamtrackevent"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> test(function() { assert_equals(MediaStreamTrackEvent.length, 2); assert_throws(new TypeError, function() { new MediaStreamTrackEvent("type"); }); assert_throws(new TypeError, function() { new MediaStreamTrackEvent("type", null); }); assert_throws(new TypeError, function() { new MediaStreamTrackEvent("type", undefined); }); }, "The eventInitDict argument is required"); test(function() { assert_throws(new TypeError, function() { new MediaStreamTrackEvent("type", {}); }); assert_throws(new TypeError, function() { new MediaStreamTrackEvent("type", { track: null }); }); assert_throws(new TypeError, function() { new MediaStreamTrackEvent("type", { track: undefined }); }); }, "The eventInitDict's track member is required."); test(function() { // a MediaStreamTrack instance is needed to test, any instance will do. var context = new AudioContext(); var dest = context.createMediaStreamDestination(); var track = dest.stream.getTracks()[0]; assert_true(track instanceof MediaStreamTrack); var event = new MediaStreamTrackEvent("type", { track: track }); assert_equals(event.type, "type"); assert_equals(event.track, track); }, "The MediaStreamTrackEvent instance's track attribute is set."); </script>