Tests MediaStreamTrack.clone()

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS getUserMedia succeeded.

videoTrack = mediaStream.getVideoTracks()[0]
Initialize event handler attributes on videoTrack
PASS videoTrack.onoverconstrained is undefined
PASS videoTrack.onoverconstrained is undefined
PASS MediaStreamTrack.prototype.onoverconstrained is undefined

videoTrack2 = videoTrack.clone()
PASS videoTrack.id is not videoTrack2.id
PASS videoTrack.kind is videoTrack2.kind
PASS videoTrack.label is videoTrack2.label
PASS videoTrack.muted is videoTrack2.muted
PASS videoTrack.enabled is videoTrack2.enabled
PASS videoTrack.readyState is videoTrack2.readyState
PASS videoTrack.onmute is not videoTrack2.onmute
PASS videoTrack.onunmute is not videoTrack2.onunmute
PASS videoTrack.onended is not videoTrack2.onended
PASS videoTrack.readyState is not videoTrack2.readyState
PASS videoTrack.readyState is videoTrack3.readyState
PASS successfullyParsed is true

TEST COMPLETE

