mirror of
https://github.com/servo/servo.git
synced 2025-10-04 02:29:12 +01:00
45 lines
1.8 KiB
HTML
45 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/mediacapture-image/resources/imagecapture-helpers.js"></script>
|
|
<body>
|
|
<canvas id='canvas' width=10 height=10/>
|
|
</body>
|
|
<script>
|
|
|
|
// This test verifies that ImageCapture can get PhotoCapabilities(), with a mock
|
|
// Mojo interface implementation.
|
|
|
|
image_capture_test(async (t, imageCaptureTest) => {
|
|
let canvas = document.getElementById('canvas');
|
|
let context = canvas.getContext('2d');
|
|
context.fillStyle = 'red';
|
|
context.fillRect(0, 0, 10, 10);
|
|
let stream = canvas.captureStream();
|
|
|
|
let mockCapabilities = imageCaptureTest.mockImageCapture().state();
|
|
let capturer = new ImageCapture(stream.getVideoTracks()[0]);
|
|
assert_true(typeof capturer.getPhotoCapabilities == 'function');
|
|
|
|
let capabilities = await capturer.getPhotoCapabilities();
|
|
assert_true(capabilities instanceof PhotoCapabilities);
|
|
|
|
assert_equals(capabilities.redEyeReduction, 'controllable',
|
|
'redEyeReduction');
|
|
|
|
assert_true(capabilities.imageHeight instanceof MediaSettingsRange);
|
|
assert_equals(capabilities.imageHeight.max, mockCapabilities.height.max);
|
|
assert_equals(capabilities.imageHeight.min, mockCapabilities.height.min);
|
|
assert_equals(capabilities.imageHeight.step, mockCapabilities.height.step);
|
|
|
|
assert_true(capabilities.imageWidth instanceof MediaSettingsRange);
|
|
assert_equals(capabilities.imageWidth.max, mockCapabilities.width.max);
|
|
assert_equals(capabilities.imageWidth.min, mockCapabilities.width.min);
|
|
assert_equals(capabilities.imageWidth.step, mockCapabilities.width.step);
|
|
|
|
assert_array_equals(capabilities.fillLightMode, [ 'auto', 'flash' ],
|
|
'fillLightMode');
|
|
|
|
}, 'exercises ImageCapture.getPhotoCapabilities()');
|
|
|
|
</script>
|