
PASS getStats() with no argument should succeed
PASS getStats(null) should succeed
FAIL getStats() with track not added to connection should reject with InvalidAccessError assert_unreached: Should have rejected: undefined Reached unreachable code
PASS getStats() with track added via addTrack should succeed
PASS getStats() with track added via addTransceiver should succeed
FAIL getStats() with track associated with both sender and receiver should reject with InvalidAccessError assert_unreached: Should have rejected: undefined Reached unreachable code
PASS getStats() with no argument should return stats report containing peer-connection stats on an empty PC
PASS getStats() track with stream returns peer-connection and outbound-rtp stats
PASS getStats() track without stream returns peer-connection and outbound-rtp stats
PASS getStats() audio outbound-rtp contains all mandatory stats
PASS getStats() video outbound-rtp contains all mandatory stats
FAIL getStats() audio and video validate all mandatory stats assert_equals: Expect dictionary.totalAudioEnergy to be number expected "number" but got "undefined"
PASS getStats() on track associated with RTCRtpSender should return stats report containing outbound-rtp stats
PASS getStats() on track associated with RTCRtpReceiver should return stats report containing inbound-rtp stats
PASS getStats() inbound-rtp contains all mandatory stats
FAIL getStats() with connected peer connections having tracks and data channel should return all mandatory to implement stats assert_unreached: test failed with error: Error: assert_equals: Expect dictionary.totalAudioEnergy to be number expected "number" but got "undefined" Reached unreachable code
FAIL getStats(track) should not work if multiple senders have the same track assert_unreached: Should have rejected: undefined Reached unreachable code
PASS RTCStats.timestamp increases with time passing

