| The `shapedetection-helpers.js` tests require implementations of |
| the `FaceDetectionTest`, `BarcodeDetectionTest` and `TextDetectionTest` |
| interfaces, which should emulate platform shape detection backends. |
| |
| The `FaceDetectionTest` interface is defined as: |
| |
| ``` |
| class FaceDetectionTest { |
| async initialize(); // Sets up the testing environment. |
| async reset(); // Frees the resources. |
| MockFaceDetectionProvider(); //Returns `MockFaceDetectionProvider` interface. |
| }; |
| |
| class MockFaceDetectionProvider { |
| getFrameData(); //Gets frame data of detection result. |
| getMaxDetectedFaces(); //Gets value of `maxDetectedFaces` in `FaceDetector` constructor |
| getFastMode(); //Gets value of `fastMode` in `FaceDetector` constructor |
| }; |
| ``` |
| |
| The Chromium implementation of the `FaceDetectionTest` interface is located in |
| [mock-facedetection.js](../resources/chromium/mock-facedetection.js). |
| |
| The `BarcodeDetectionTest` interface is defined as: |
| |
| ``` |
| class BarcodeDetectionTest { |
| async initialize(); // Sets up the testing environment. |
| async reset(); // Frees the resources. |
| MockBarcodeDetectionProvider(); //Returns `MockBarcodeDetectionProvider` interface. |
| }; |
| |
| class MockBarcodeDetectionProvider { |
| async enumerateSupportedFormats(); //Enumerates supported formats |
| getFrameData(); //Gets frame data of detection result. |
| getFormats(); //Gets value of `formats` in `BarcodeDetector` constructor |
| simulateNoImplementation(); // simulate a 'no implementation available' case |
| }; |
| ``` |
| |
| The Chromium implementation of the `BarcodeDetectionTest` interface is located in |
| [mock-barcodedetection.js](../resources/chromium/mock-barcodedetection.js). |
| |
| The `TextDetectionTest` interface is defined as: |
| |
| ``` |
| class TextDetectionTest { |
| async initialize(); // Sets up the testing environment. |
| async reset(); // Frees the resources. |
| MockTextDetection(); //Returns `MockTextDetection` interface. |
| }; |
| |
| class MockTextDetection { |
| getFrameData(); //Gets frame data of detection result. |
| }; |
| ``` |
| |
| The Chromium implementation of the `TextDetectionTest` interface is located in |
| [mock-textdetection.js](../resources/chromium/mock-textdetection.js). |
| |
| Other browser vendors should provide their own implementations of |
| the `FaceDetectionTest`, `BarcodeDetectionTest` and `TextDetectionTest` |
| interfaces. |