Source code

Revision control

Copy as Markdown

Other Tools

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.