This tests the constructor for the TrackEvent DOM class. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". *** No initializer passed *** PASS new TrackEvent('TrackEvent').bubbles is false PASS new TrackEvent('TrackEvent').cancelable is false PASS new TrackEvent('TrackEvent').track is null *** Bubbles and cancelable true, track is missing *** PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true }).bubbles is true PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true }).cancelable is true PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true }).track is null *** Bubbles and cancelable true, invalid track *** PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).bubbles threw exception TypeError: Failed to construct 'TrackEvent': Failed to read the 'track' property from 'TrackEventInit': The provided value is not of type '(AudioTrack or TextTrack or VideoTrack)'.. PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).cancelable threw exception TypeError: Failed to construct 'TrackEvent': Failed to read the 'track' property from 'TrackEventInit': The provided value is not of type '(AudioTrack or TextTrack or VideoTrack)'.. PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: HTMLTrackElement }).track threw exception TypeError: Failed to construct 'TrackEvent': Failed to read the 'track' property from 'TrackEventInit': The provided value is not of type '(AudioTrack or TextTrack or VideoTrack)'.. *** Initialize 'track' with a invalid values *** PASS new TrackEvent('TrackEvent', { track: 10 }).track threw exception TypeError: Failed to construct 'TrackEvent': Failed to read the 'track' property from 'TrackEventInit': The provided value is not of type '(AudioTrack or TextTrack or VideoTrack)'.. PASS new TrackEvent('TrackEvent', { track: 'string' }).track threw exception TypeError: Failed to construct 'TrackEvent': Failed to read the 'track' property from 'TrackEventInit': The provided value is not of type '(AudioTrack or TextTrack or VideoTrack)'.. PASS new TrackEvent('TrackEvent', { track: emptyObject }).track threw exception TypeError: Failed to construct 'TrackEvent': Failed to read the 'track' property from 'TrackEventInit': The provided value is not of type '(AudioTrack or TextTrack or VideoTrack)'.. PASS new TrackEvent('TrackEvent', { track: document }).track threw exception TypeError: Failed to construct 'TrackEvent': Failed to read the 'track' property from 'TrackEventInit': The provided value is not of type '(AudioTrack or TextTrack or VideoTrack)'.. *** Bubbles and cancelable true, valid track *** PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: trackElement.track }).bubbles is true PASS new TrackEvent('TrackEvent', { bubbles: true, cancelable: true, track: trackElement.track }).cancelable is true PASS new TrackEvent('TrackEvent', { track: trackElement.track }).track is trackElement.track *** Initialize 'track' with valid track object *** PASS new TrackEvent('TrackEvent', { track: trackElement.track }).track is trackElement.track PASS successfullyParsed is true TEST COMPLETE