| <!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> |