Tests MediaDevices.getSupportedConstraints()

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


PASS navigator.mediaDevices is an instance of Object
PASS navigator.mediaDevices.getSupportedConstraints is an instance of Function

supportedConstraints = navigator.mediaDevices.getSupportedConstraints()

PASS supportedConstraints.aspectRatio is true
PASS supportedConstraints.deviceId is true
PASS supportedConstraints.echoCancellation is false
PASS supportedConstraints.facingMode is true
PASS supportedConstraints.frameRate is true
PASS supportedConstraints.groupId is false
PASS supportedConstraints.height is true
PASS supportedConstraints.sampleRate is false
PASS supportedConstraints.sampleSize is false
PASS supportedConstraints.volume is true
PASS supportedConstraints.width is true

PASS successfullyParsed is true

TEST COMPLETE

