| // META: script=/resources/WebIDLParser.js |
| // META: script=/resources/idlharness.js |
| // META: script=/shape-detection/resources/shapedetection-helpers.js |
| |
| // See: https://wicg.github.io/shape-detection-api/ |
| |
| 'use strict'; |
| |
| idl_test( |
| ['shape-detection-api'], |
| ['dom', 'geometry'], |
| async idl_array => { |
| let faceDetectionTest, barcodeDetectionTest; |
| try { |
| faceDetectionTest = |
| await initialize_detection_tests("FaceDetectionTest"); |
| barcodeDetectionTest = |
| await initialize_detection_tests("BarcodeDetectionTest"); |
| const img = createTestImage(); |
| const theImageBitmap = await createImageBitmap(img); |
| |
| self.faceDetector = new FaceDetector(); |
| const faceDetectionResult = await faceDetector.detect(theImageBitmap); |
| self.detectedFace = faceDetectionResult[0]; |
| |
| self.barcodeDetector = new BarcodeDetector(); |
| const barcodeDetectionResult = |
| await barcodeDetector.detect(theImageBitmap); |
| self.detectedBarcode = barcodeDetectionResult[0]; |
| } catch (e) { |
| // Surfaced in idlharness.js's test_object below. |
| } finally { |
| faceDetectionTest.reset(); |
| barcodeDetectionTest.reset(); |
| } |
| |
| idl_array.add_objects({ |
| FaceDetector: ['faceDetector'], |
| DetectedFace: ['detectedFace'], |
| BarcodeDetector: ['barcodeDetector'], |
| DetectedBarcode: ['detectedBarcode'] |
| }); |
| } |
| ); |
| |
| function createTestImage() { |
| const image = new OffscreenCanvas(100, 50); |
| const imgctx = image.getContext('2d'); |
| imgctx.fillStyle = "#F00"; |
| imgctx.fillRect(0, 0, 2, 2); |
| imgctx.fillStyle = "#0F0"; |
| imgctx.fillRect(0, 0, 1, 1); |
| return image; |
| } |