
*** Creating screen capture stream
PASS displayStream is an instance of Object
PASS displayStream.getTracks().length is 1
PASS displayStream.getVideoTracks().length is 1
PASS screenCaptureTrack.muted is false

*** Creating camera and microphone stream
PASS cameraStream is an instance of Object
PASS cameraStream.getTracks().length is 2
PASS microphoneCaptureTrack.muted is false
PASS cameraCaptureTrack.muted is false

*** Muting screen capture
EVENT: mute
PASS screenCaptureTrack.muted is true
PASS microphoneCaptureTrack.muted is false
PASS cameraCaptureTrack.muted is false
PASS window.internals.pageMediaState().includes(HasMutedScreenCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasActiveScreenCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasActiveAudioCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasMutedAudioCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasActiveAudioCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasMutedAudioCaptureDevice) became false

*** Muting camera and microphone
EVENT: mute
EVENT: mute
PASS screenCaptureTrack.muted is true
PASS microphoneCaptureTrack.muted is true
PASS cameraCaptureTrack.muted is true
PASS window.internals.pageMediaState().includes(HasMutedScreenCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasActiveScreenCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasMutedAudioCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasActiveAudioCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasMutedVideoCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasActiveVideoCaptureDevice) became false

*** Unmuting camera and microphone
EVENT: unmute
EVENT: unmute
PASS screenCaptureTrack.muted is true
PASS microphoneCaptureTrack.muted is false
PASS cameraCaptureTrack.muted is false
PASS window.internals.pageMediaState().includes(HasMutedScreenCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasActiveScreenCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasActiveAudioCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasMutedAudioCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasActiveAudioCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasMutedAudioCaptureDevice) became false

*** Unmuting screen capture
EVENT: unmute
PASS screenCaptureTrack.muted is false
PASS microphoneCaptureTrack.muted is false
PASS cameraCaptureTrack.muted is false
PASS window.internals.pageMediaState().includes(HasActiveScreenCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasMutedScreenCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasActiveAudioCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasMutedAudioCaptureDevice) became false
PASS window.internals.pageMediaState().includes(HasActiveAudioCaptureDevice) became true
PASS window.internals.pageMediaState().includes(HasMutedAudioCaptureDevice) became false
PASS successfullyParsed is true

TEST COMPLETE

