Files
tubestation/testing/web-platform/tests/shape-detection/README.md
Wanming Lin bfa51a2b6c Bug 1627268 [wpt PR 22690] - Reland: [shapedetection] Upstream TextDetection tests to WPT, a=testonly
Automatic update from web-platform-tests
Reland: [shapedetection] Upstream TextDetection tests to WPT

The original CL has been reverted because the test
external/wpt/shape-detection/idlharness.https.any.shareworker.html
is flaky on Mac. This reland CL disables this test on Mac.

Original change's description:
> [shapedetection] Upstream TextDetection tests to WPT
>
> This CL upstreams the reset of shapedetection tests(mainly
> TextDetection tests) to WPT.
>
> - Moves tests under
>   third_party/blink/web_tests/shapedetection/,
>   third_party/blink/web_tests/fast/shapedetection/,
>   third_party/blink/web_tests/http/tests/shapedetection/,
>   to third_party/blink/web_tests/external/wpt/shape-detection.
> - Moves third_party/blink/web_tests/shapedetection/resources/mock-textdetection.js
>   to third_party/blink/web_tests/external/wpt/resources/chromium/.
> - Removes third_party/blink/web_tests/fast/shapedetection/shapedetection-creation.html
>   as which should be covered in idlharness tests.
> - Introduces simulateClosedPipe() to MockBarcodeDetectionProvider to simulate
>   'no implementation available' case for
>   third_party/blink/web_tests/external/wpt/shape-detection/detection-getSupportedFormats.https.html
> - Improves third_party/blink/web_tests/external/wpt/shape-detection/detection-options.https.html
>   by using assert_throws_js BTW.
>
> Bug: 932382
> Change-Id: I2f795e4fa4f23b33c49b7924cdbcbccde5ac6ed4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2131154
> Reviewed-by: Reilly Grant <reillyg@chromium.org>
> Commit-Queue: Wanming Lin <wanming.lin@intel.com>
> Cr-Commit-Position: refs/heads/master@{#756131}

Bug: 932382, 1067533
Change-Id: I85b5dcc841185e2edd20a76ed3aec8add7f08954
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2134924
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Wanming Lin <wanming.lin@intel.com>
Cr-Commit-Position: refs/heads/master@{#756647}

--

wpt-commits: dfc0080d132ac25c4cf824a25735203b3a2b6853
wpt-pr: 22690
2020-04-13 14:08:06 +00:00

2.3 KiB

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.

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.

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.

Other browser vendors should provide their own implementations of the FaceDetectionTest, BarcodeDetectionTest and TextDetectionTest interfaces.