OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
4 <script src="../resources/mojo-helpers.js"></script> | 4 <script src="../resources/mojo-helpers.js"></script> |
5 <script src="resources/mock-imagecapture.js"></script> | 5 <script src="resources/mock-imagecapture.js"></script> |
6 <body> | 6 <body> |
7 <canvas id='canvas' width=10 height=10/> | 7 <canvas id='canvas' width=10 height=10/> |
8 </body> | 8 </body> |
9 <script> | 9 <script> |
10 | 10 |
11 const meteringModeNames = ["none", "manual", "single-shot", "continuous"]; | |
12 const fillLightModeNames = ["none", "off", "auto", "flash", "torch"]; | 11 const fillLightModeNames = ["none", "off", "auto", "flash", "torch"]; |
13 | 12 |
14 // This test verifies that ImageCapture can get PhotoCapabilities(), with a mock | 13 // This test verifies that ImageCapture can get PhotoCapabilities(), with a mock |
15 // Mojo interface implementation. | 14 // Mojo interface implementation. |
16 | 15 |
17 async_test(function(t) { | 16 async_test(function(t) { |
18 var canvas = document.getElementById('canvas'); | 17 var canvas = document.getElementById('canvas'); |
19 var context = canvas.getContext("2d"); | 18 var context = canvas.getContext("2d"); |
20 context.fillStyle = "red"; | 19 context.fillStyle = "red"; |
21 context.fillRect(0, 0, 10, 10); | 20 context.fillRect(0, 0, 10, 10); |
22 var stream = canvas.captureStream(); | 21 var stream = canvas.captureStream(); |
23 | 22 |
24 var mock_capabilities; | 23 var mock_capabilities; |
25 mockImageCaptureReady | 24 mockImageCaptureReady |
26 .then(mock => { | 25 .then(mock => { |
27 mock_capabilities = mock.capabilities(); | 26 mock_capabilities = mock.capabilities(); |
28 return new ImageCapture(stream.getVideoTracks()[0]); | 27 return new ImageCapture(stream.getVideoTracks()[0]); |
29 }, | 28 }, |
30 error => { | 29 error => { |
31 assert_unreached("Error creating MockImageCapture: " + error); | 30 assert_unreached("Error creating MockImageCapture: " + error); |
32 }) | 31 }) |
33 .then(capturer => { | 32 .then(capturer => { |
34 assert_true(typeof capturer.getPhotoCapabilities == 'function'); | 33 assert_true(typeof capturer.getPhotoCapabilities == 'function'); |
35 return capturer.getPhotoCapabilities(); | 34 return capturer.getPhotoCapabilities(); |
36 }) | 35 }) |
37 .then(capabilities => { | 36 .then(capabilities => { |
38 assert_true(capabilities instanceof PhotoCapabilities); | 37 assert_true(capabilities instanceof PhotoCapabilities); |
39 | 38 |
40 assert_true(capabilities.iso instanceof MediaSettingsRange); | |
41 assert_equals(capabilities.iso.max, mock_capabilities.iso.max); | |
42 assert_equals(capabilities.iso.min, mock_capabilities.iso.min); | |
43 assert_equals(capabilities.iso.current, mock_capabilities.iso.current); | |
44 assert_equals(capabilities.iso.step, mock_capabilities.iso.step); | |
45 | |
46 assert_true(capabilities.imageHeight instanceof MediaSettingsRange); | 39 assert_true(capabilities.imageHeight instanceof MediaSettingsRange); |
47 assert_equals(capabilities.imageHeight.max, | 40 assert_equals(capabilities.imageHeight.max, |
48 mock_capabilities.height.max); | 41 mock_capabilities.height.max); |
49 assert_equals(capabilities.imageHeight.min, | 42 assert_equals(capabilities.imageHeight.min, |
50 mock_capabilities.height.min); | 43 mock_capabilities.height.min); |
51 assert_equals(capabilities.imageHeight.current, | 44 assert_equals(capabilities.imageHeight.current, |
52 mock_capabilities.height.current); | 45 mock_capabilities.height.current); |
53 assert_equals(capabilities.imageHeight.step, | 46 assert_equals(capabilities.imageHeight.step, |
54 mock_capabilities.height.step); | 47 mock_capabilities.height.step); |
55 | 48 |
56 assert_true(capabilities.imageWidth instanceof MediaSettingsRange); | 49 assert_true(capabilities.imageWidth instanceof MediaSettingsRange); |
57 assert_equals(capabilities.imageWidth.max, | 50 assert_equals(capabilities.imageWidth.max, |
58 mock_capabilities.width.max); | 51 mock_capabilities.width.max); |
59 assert_equals(capabilities.imageWidth.min, | 52 assert_equals(capabilities.imageWidth.min, |
60 mock_capabilities.width.min); | 53 mock_capabilities.width.min); |
61 assert_equals(capabilities.imageWidth.current, | 54 assert_equals(capabilities.imageWidth.current, |
62 mock_capabilities.width.current); | 55 mock_capabilities.width.current); |
63 assert_equals(capabilities.imageWidth.step, mock_capabilities.width.step); | 56 assert_equals(capabilities.imageWidth.step, mock_capabilities.width.step); |
64 | 57 |
65 assert_true(capabilities.zoom instanceof MediaSettingsRange); | |
66 assert_equals(capabilities.zoom.max, mock_capabilities.zoom.max); | |
67 assert_equals(capabilities.zoom.min, mock_capabilities.zoom.min); | |
68 assert_equals(capabilities.zoom.current, mock_capabilities.zoom.current); | |
69 assert_equals(capabilities.zoom.step, mock_capabilities.zoom.step); | |
70 | |
71 assert_equals(capabilities.focusMode, | |
72 meteringModeNames[mock_capabilities.focus_mode], 'focusMode'); | |
73 | |
74 assert_equals(capabilities.exposureMode, | |
75 meteringModeNames[mock_capabilities.exposure_mode], 'exposureMode;'); | |
76 | |
77 assert_true(capabilities.exposureCompensation instanceof | |
78 MediaSettingsRange); | |
79 assert_equals(capabilities.exposureCompensation.max, | |
80 mock_capabilities.exposure_compensation.max); | |
81 assert_equals(capabilities.exposureCompensation.min, | |
82 mock_capabilities.exposure_compensation.min); | |
83 assert_equals(capabilities.exposureCompensation.current, | |
84 mock_capabilities.exposure_compensation.current); | |
85 assert_equals(capabilities.exposureCompensation.step, | |
86 mock_capabilities.exposure_compensation.step); | |
87 | |
88 assert_equals(capabilities.whiteBalanceMode, | |
89 meteringModeNames[mock_capabilities.white_balance_mode], | |
90 'whiteBalanceMode'); | |
91 | |
92 assert_equals(capabilities.fillLightMode, | 58 assert_equals(capabilities.fillLightMode, |
93 fillLightModeNames[mock_capabilities.fill_light_mode], | 59 fillLightModeNames[mock_capabilities.fill_light_mode], |
94 'fillLightMode'); | 60 'fillLightMode'); |
95 | 61 |
96 assert_true(capabilities.redEyeReduction, | 62 assert_true(capabilities.redEyeReduction, |
97 mock_capabilities.red_eye_reduction, 'redEyeReduction'); | 63 mock_capabilities.red_eye_reduction, 'redEyeReduction'); |
98 | 64 |
99 assert_true(capabilities.colorTemperature instanceof MediaSettingsRange); | |
100 assert_equals(capabilities.colorTemperature.max, | |
101 mock_capabilities.color_temperature.max); | |
102 assert_equals(capabilities.colorTemperature.min, | |
103 mock_capabilities.color_temperature.min); | |
104 assert_equals(capabilities.colorTemperature.current, | |
105 mock_capabilities.color_temperature.current); | |
106 assert_equals(capabilities.colorTemperature.step, | |
107 mock_capabilities.color_temperature.step); | |
108 | |
109 assert_true(capabilities.brightness instanceof MediaSettingsRange); | |
110 assert_equals(capabilities.brightness.max, | |
111 mock_capabilities.brightness.max); | |
112 assert_equals(capabilities.brightness.min, | |
113 mock_capabilities.brightness.min); | |
114 assert_equals(capabilities.brightness.current, | |
115 mock_capabilities.brightness.current); | |
116 assert_equals(capabilities.brightness.step, | |
117 mock_capabilities.brightness.step); | |
118 | |
119 assert_true(capabilities.contrast instanceof MediaSettingsRange); | |
120 assert_equals(capabilities.contrast.max, mock_capabilities.contrast.max); | |
121 assert_equals(capabilities.contrast.min, mock_capabilities.contrast.min); | |
122 assert_equals(capabilities.contrast.current, | |
123 mock_capabilities.contrast.current); | |
124 assert_equals(capabilities.contrast.step, | |
125 mock_capabilities.contrast.step); | |
126 | |
127 assert_true(capabilities.saturation instanceof MediaSettingsRange); | |
128 assert_equals(capabilities.saturation.max, | |
129 mock_capabilities.saturation.max); | |
130 assert_equals(capabilities.saturation.min, | |
131 mock_capabilities.saturation.min); | |
132 assert_equals(capabilities.saturation.current, | |
133 mock_capabilities.saturation.current); | |
134 assert_equals(capabilities.saturation.step, | |
135 mock_capabilities.saturation.step); | |
136 | |
137 assert_true(capabilities.sharpness instanceof MediaSettingsRange); | |
138 assert_equals(capabilities.sharpness.max, | |
139 mock_capabilities.sharpness.max); | |
140 assert_equals(capabilities.sharpness.min, | |
141 mock_capabilities.sharpness.min); | |
142 assert_equals(capabilities.sharpness.current, | |
143 mock_capabilities.sharpness.current); | |
144 assert_equals(capabilities.sharpness.step, | |
145 mock_capabilities.sharpness.step); | |
146 t.done(); | 65 t.done(); |
147 }) | 66 }) |
148 .catch(error => { | 67 .catch(error => { |
149 assert_unreached("Error during getPhotoCapabilities(): " + error.message); | 68 assert_unreached("Error during getPhotoCapabilities(): " + error.message); |
150 }); | 69 }); |
151 | 70 |
152 }, 'exercises ImageCapture.getPhotoCapabilities()'); | 71 }, 'exercises ImageCapture.getPhotoCapabilities()'); |
153 | 72 |
154 </script> | 73 </script> |
OLD | NEW |