| Tests applyConstraints on a video stream track. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| PASS stream.getVideoTracks().length is 1 |
| PASS stream.getAudioTracks().length is 0 |
| PASS video.videoTracks.length is 1 |
| PASS video.audioTracks.length is 0 |
| |
| ** Constraint: {"width":640,"height":480,"frameRate":30} - set width, height, and frame rate to valid values. |
| PASS settings['width'] is 640 |
| PASS settings['height'] is 480 |
| PASS settings['frameRate'] is 30 |
| |
| ** Constraint: {"width":320,"height":240} - change width and height, frame rate should remain unchanged. |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 240 |
| PASS settings['frameRate'] is 30 |
| |
| ** Constraint: {"width":{"exact":2000}} - the 'exact' constraint can't be satisfied, promise should reject and no settings should change. |
| PASS Promise was rejected |
| PASS error.constraint is "width" |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 240 |
| PASS settings['frameRate'] is 30 |
| |
| ** Constraint: {"width":640,"height":{"min":3000}} - the 'min' constraint can't be satisfied, promise should reject and no settings should change. |
| PASS Promise was rejected |
| PASS error.constraint is "height" |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 240 |
| PASS settings['frameRate'] is 30 |
| |
| ** Constraint: {"frameRate":{"max":6}} - the 'max' constraint can't be satisfied, promise should reject and no settings should change. |
| PASS Promise was rejected |
| PASS error.constraint is "frameRate" |
| PASS settings['frameRate'] is 30 |
| |
| ** Constraint: {"width":{"exact":400}} - the 'exact' constraint can be satisfied. |
| PASS settings['width'] is 400 |
| PASS settings['height'] is 240 |
| |
| ** Constraint: {"width":{"min":300,"ideal":5000}} - the 'ideal' constraint can't be satisfied but the 'min' can, max should be chosen. |
| PASS settings['width'] is 1920 |
| PASS settings['height'] is 240 |
| |
| ** Constraint: {"width":{"min":320,"ideal":1280},"height":{"min":480,"ideal":720}} - 'ideal' and 'min' constraints can be satisfied, 'ideal' should be chosen. |
| PASS settings['width'] is 1280 |
| PASS settings['height'] is 720 |
| |
| ** Constraint: {"width":3000} - ideal width is greater than track capability, should be clamped to the maximum value. |
| PASS settings['width'] is 1920 |
| |
| ** Constraint: {"width":160,"height":120,"frameRate":10} - all values are less than track capabilities, should be clamped to the minimum values. |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 240 |
| PASS settings['frameRate'] is 15 |
| |
| ** Constraint: {"frameRate":20} - set frame rate, width and height should remain unchanged |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 240 |
| PASS settings['frameRate'] is 20 |
| |
| ** Constraint: {"facingMode":"environment","height":400} - illegal facing mode value should be ignored, height should change. |
| PASS settings['facingMode'] is "user" |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 400 |
| |
| ** Constraint: {"WITDH":400,"frameRate":30} - unknown constraint should be ignored, frame rate should change. |
| PASS settings['width'] is 320 |
| PASS settings['frameRate'] is 30 |
| |
| ** Constraint: {"aspectRatio":"1.3333"} - aspect ratio should change width and height. |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 240 |
| |
| ** Constraint: {"aspectRatio":"1.7778"} - new aspect ratio should again change width and height. |
| PASS settings['width'] is 320 |
| PASS settings['height'] is 180 |
| |
| ** Constraint: {"width":1920} - when aspect ratio has been set, changing width should change height. |
| PASS settings['width'] is 1920 |
| PASS settings['height'] is 1080 |
| |
| ** Constraint: {"height":576} - when aspect ratio has been set, changing height should change width. |
| PASS settings['width'] is 1024 |
| PASS settings['height'] is 576 |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |