| <!DOCTYPE html> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> |
| <script src="file:///gen/services/shape_detection/public/mojom/textdetection.mojom.js"></script> |
| <script src="resources/big-buffer-helpers.js"></script> |
| <script src="resources/mock-textdetection.js"></script> |
| <script> |
| |
| const createTestForImageData = (createDetector, mock, detectionResultTest) => { |
| async_test(t => { |
| |
| const img = new Image(); |
| img.onload = async() => { |
| |
| const canvas = document.createElement("canvas");; |
| canvas.getContext("2d").drawImage(img, 0, 0); |
| |
| const detector = createDetector(); |
| try { |
| const detectionResult = await detector.detect(canvas.getContext("2d") |
| .getImageData(0, 0, canvas.width, canvas.height)); |
| detectionResultTest(detectionResult); |
| t.done(); |
| } catch(error) { |
| assert_unreached("Error during detect(canvas): " + error); |
| } |
| } |
| |
| img.src = "../media/content/greenbox.png"; |
| }); |
| }; |
| |
| function CheckDetectedReadOnlyBoundingBoxes(detectedObjects) { |
| var properties = ['x', 'y', 'width', 'height', 'top', 'right', 'bottom', 'left']; |
| |
| detectedObjects.forEach(detectedObject => { |
| properties.forEach(property => { |
| assert_readonly(detectedObject.boundingBox, property); |
| }); |
| }); |
| } |
| |
| // These tests verify that detected Text's boundingBox should be DOMRectReadOnly. |
| generate_tests(createTestForImageData, [ |
| [ |
| "Text - detectedText.boundingBox should be DOMRectReadOnly", |
| () => { return new TextDetector(); }, |
| mockTextDetection, |
| CheckDetectedReadOnlyBoundingBoxes |
| ] |
| ]); |
| |
| </script> |