summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/shape-detection/detection-options.https.html
blob: 4b79da2a6e8dc129c367a7f2c3cf3da6832bcc27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!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(),
      [BarcodeFormat.CODE_128, BarcodeFormat.QR_CODE],
      "formats");

  const invalidFormats = [
    [],
    ["unknown"],
    ["foo", "bar"]
  ];

  invalidFormats.forEach(invalidFormat => {
    assert_throws_js(TypeError, () => new BarcodeDetector({formats: invalidFormat}));
  });

}, "Test that BarcodeDetectorOptions are correctly propagated");

</script>