blob: 704faf729294d78e1df7821e99baaf734d2ca59e [file] [log] [blame]
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/shapedetection-helpers.js"></script>
<body>
<img id="img" src="/images/green-16x16.png"/>
</body>
<script>
detection_test("FaceDetectionTest", async (t, detectionTest) => {
const img = document.getElementById("img");
const mock = detectionTest.MockFaceDetectionProvider();
const detectorWithDefault = new FaceDetector();
let faceDetectionResult = await detectorWithDefault.detect(img);
assert_equals(mock.getMaxDetectedFaces(), 10, "default maxDetectedFaces");
assert_equals(mock.getFastMode(), false, "default maxDetectedFaces");
const detectorWithOptions =
new FaceDetector({maxDetectedFaces: 7, fastMode: true});
faceDetectionResult = await detectorWithOptions.detect(img);
assert_equals(mock.getMaxDetectedFaces(), 7, "maxDetectedFaces");
assert_equals(mock.getFastMode(), true, "maxDetectedFaces");
}, "Test that FaceDetectionOptions are correctly propagated");
detection_test("BarcodeDetectionTest", async (t, detectionTest) => {
const img = document.getElementById("img");
const mock = detectionTest.MockBarcodeDetectionProvider();
const detectorWithNoOptions = new BarcodeDetector();
let barcodeDetectionResult = await detectorWithNoOptions.detect(img);
assert_array_equals(mock.getFormats(), [], "formats");
const detectorWithOptions = new BarcodeDetector({
formats: ["code_128", "qr_code"]});
barcodeDetectionResult = await detectorWithOptions.detect(img);
assert_array_equals(
mock.getFormats(),
[shapeDetection.mojom.BarcodeFormat.CODE_128,
shapeDetection.mojom.BarcodeFormat.QR_CODE],
"formats");
try {
new BarcodeDetector({formats: []});
assert_unreached("providing hint option that is empty should fail");
} catch (error) {
assert_equals(error.name, "TypeError");
}
try {
new BarcodeDetector({formats: ["unknown"]});
assert_unreached("providing \"unknown\" as a hint option should fail");
} catch (error) {
assert_equals(error.name, "TypeError");
}
try {
new BarcodeDetector({formats: ["foo", "bar"]});
assert_unreached(
"providing hint option with unrecognized formats should fail");
} catch (error) {
assert_equals(error.name, "TypeError");
}
}, "Test that BarcodeDetectorOptions are correctly propagated");
</script>