MediaStreamTrack-getConstraints.https.html (2432B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="/resources/testdriver.js"></script> 5 <script src="/resources/testdriver-vendor.js"></script> 6 <script src="/mediacapture-image/resources/imagecapture-helpers.js"></script> 7 <script> 8 9 const constraints = { whiteBalanceMode : "single-shot", 10 exposureMode : "manual", 11 focusMode : "single-shot", 12 13 exposureCompensation : 133.77, 14 exposureTime : 10000, // in nano-seconds. 15 colorTemperature : 6000, 16 iso : 120.0, 17 18 brightness : 3, 19 contrast : 4, 20 saturation : 5, 21 sharpness : 6, 22 focusDistance : 7, 23 24 pan : 8, 25 tilt : 9, 26 zoom : 3.141592 27 // TODO: torch https://crbug.com/700607. 28 }; 29 30 // These tests verify that MediaStreamTrack.getConstraints() exists and that, 31 // returns the constraints passed beforehand with applyConstraints. 32 function makePromiseTest(constraint) { 33 image_capture_test(async function(t) { 34 await test_driver.set_permission({name: 'camera', panTiltZoom: true}, 35 'granted'); 36 37 let stream = await navigator.mediaDevices.getUserMedia({video: true}); 38 let videoTrack = stream.getVideoTracks()[0]; 39 40 let constraintsIn = {advanced : [ constraint ]}; 41 await videoTrack.applyConstraints(constraintsIn); 42 assert_object_equals(videoTrack.getConstraints(), constraintsIn, "constraints"); 43 44 // Clear constraints by sending an empty constraint set. 45 await videoTrack.applyConstraints({}); 46 assert_object_equals(videoTrack.getConstraints(), {}, "constraints"); 47 }); 48 }; 49 50 // Send each line of |constraints| in turn and then the whole dictionary. 51 for (key in constraints) { 52 let one_constraint = {}; 53 one_constraint[key] = constraints[key]; 54 generate_tests( 55 makePromiseTest, 56 [[ 'MediaStreamTrack.getConstraints(), key: ' + key, one_constraint ]]); 57 } 58 59 generate_tests(makePromiseTest, [ 60 ["MediaStreamTrack.getConstraints(), complete ", constraints], 61 ]); 62 63 </script>